logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Test::Bot::BasicBot::Pluggable - utilities to aid in testing of Bot::BasicBot::Pluggable modules

Author

       Mario Domgoergen <mdom@cpan.org>

Bugs And Limitations

       There are no methods to test join, part and emote.

Description

       Test::Bot::BasicBot::Pluggable was written to provide a minimalistic testing bot in order to write
       cleaner unit tests for Bot::BasicBot::Pluggable modules.

Instance Methods

tell_direct
       Sends the provided string to the bot like it was send directly to the bot in a public channel. The
       channel is called '#test' and the sending user 'test_user'.

         test_user@#test> test_bot: foo

   tell_indirect
       Sends the provided string to the bot like it was send to a public channel without addressing. The channel
       is called '#test' and the sending user 'test_user'.

         test_user@#test> foo

   tell_private
       Sends the provided string to the bot like it was send in a private channel. The sending user 'test_user'.

         test_user@test_bot> foo

   tell
       This is the working horse of Test::Bot::BasicBot::Pluggable. It basically builds a message hash as
       argument to the bots said() function. You should never have to call it directly.

   connect
       Dispatch the connected event to all loaded modules without actually connecting to anything.

   DESTROY
       The special subroutine is explicitly overridden with an empty subroutine as otherwise AUTOLOAD in
       Bot::BasicBot will be called for it.

Name

       Test::Bot::BasicBot::Pluggable - utilities to aid in testing of Bot::BasicBot::Pluggable modules

Subroutines/Methods

new
       Creates a new Test::Bot::BasicBot::Pluggable object, which is basically just a subclass of
       Bot::BasicBot::Pluggable with a few special methods. The default nickname is 'test_bot' and it contains a
       in-memory store instead of sqlite. It takes the same arguments as Bot::BasicBot::Pluggable.

Synopsis

         use Test::More;
         use Test::Bot::BasicBot::Pluggable;

         my $bot = Test::Bot::BasicBot->new();
         $bot->load('MyModule');

         is ( $bot->tell_direct('foo'),   'bar');
         is ( $bot->tell_indirect('foo'), 'bar');
         is ( $bot->tell_private('foo'),  'bar');

Version

       version 1.30

See Also