]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blob - test/plugins/test_points.rb
tests: mocked bot and messages added, added points tests
[user/henk/code/ruby/rbot.git] / test / plugins / test_points.rb
1 $:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
2 $:.unshift File.join(File.dirname(__FILE__), '..', '..')
3
4 require 'test/unit'
5 require 'test/mock'
6
7 require 'rbot/ircbot'
8 require 'rbot/registry'
9 require 'rbot/plugins'
10 require 'rbot/language'
11
12 class PointsPluginTest < Test::Unit::TestCase
13   def setup
14     manager = Irc::Bot::Plugins.manager
15     manager.bot_associate(MockBot.new)
16     manager.load_botmodule_file('./data/rbot/plugins/points.rb')
17     @plugin = manager.get_plugin('points')
18   end
19
20   def test_points
21     assert_not_nil(@plugin)
22     assert_not_empty(@plugin.help(nil))
23
24     m = MockMessage.new('linux++', 'user')
25     @plugin.message(m)
26     assert_equal('linux now has 1 points!', m.replies.first)
27
28     m = MockMessage.new('linux++', 'user')
29     @plugin.message(m)
30     assert_equal('linux now has 2 points!', m.replies.first)
31
32     m = MockMessage.new('linux++', 'linux')
33     @plugin.message(m)
34     assert_empty(m.replies)
35
36     m = MockMessage.new('', 'user')
37     @plugin.points(m, key: 'linux')
38     assert_equal('points for linux: 2', m.replies.first)
39
40     m = MockMessage.new('', 'linux')
41     @plugin.points(m, {})
42     assert_equal('points for linux: 2', m.replies.first)
43   end
44 end