aboutsummaryrefslogtreecommitdiff
path: root/test/test_thanks.t
blob: 680c235f1a2dcc08f5c2cdb698896bb32d66a433 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env perl

use strict;
use warnings;
use Test::Simple tests => 8;
use Mock::CommandRegistry;

use Plugin::Thanks;

my @expected_commands = qw/thanks thanks. thanks! thanks?/;

my $cr = new Mock::CommandRegistry;
my $register = sub { $cr->register(@_); };
Plugin::Thanks->configure($register, undef, undef, undef);
for my $cmd (@expected_commands) {
	my $is_registered = $cr->is_registered_to_owner("Plugin::Thanks", $cmd);
	ok($is_registered, "registered command $cmd");
}

my $thanker = "somelad";
my %ctx = (
	irc => undef,
	logger => undef,
	who => "$thanker!who\@example.com",
	where => undef,
	ided => undef,
	rest => undef,
	no_reenter => undef,
	args => undef
);
my $expected = "$thanker: pong";
for my $cmd (@expected_commands) {
	my $response = $cr->run_owned("Plugin::Thanks", $cmd, %ctx);
	ok($response =~ m/^\Q$thanker\E: /, "response addressed to thanker");
}