Tests for ika
This commit is contained in:
parent
24b5386b51
commit
3d9e1e51c4
@ -47,11 +47,5 @@ class Ika
|
||||
end
|
||||
|
||||
return current_session&.respond_to message
|
||||
|
||||
if message.message.content == "!init"
|
||||
return message.respond("There's already a session running") unless current_session.nil?
|
||||
|
||||
return current_session = Session.new(message, event.message.author)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
34
test/test_ika.rb
Normal file
34
test/test_ika.rb
Normal file
@ -0,0 +1,34 @@
|
||||
require_relative "../lib/ika"
|
||||
require "minitest/autorun"
|
||||
|
||||
class TestIka < Minitest::Test
|
||||
def setup
|
||||
@bot = Minitest::Mock.new
|
||||
@ika = Ika.new @bot
|
||||
end
|
||||
|
||||
def test_start
|
||||
@bot.expect(:message, nil)
|
||||
@bot.expect(:run, nil)
|
||||
@ika.start!
|
||||
end
|
||||
|
||||
def test_handle_command_message
|
||||
@command = Minitest::Mock.new
|
||||
@command.expect(:execute, nil)
|
||||
Commands::Command.stub(:for, @command) do |x|
|
||||
@ika.handle_message("msg")
|
||||
end
|
||||
end
|
||||
|
||||
def test_handle_normal_message
|
||||
@ika.current_session = Minitest::Mock.new
|
||||
@command = Commands::Command.new(nil, nil)
|
||||
Commands::Command.stub(:for, nil) do |x|
|
||||
@command.stub(:execute, -> { raise "#execute was called" }) do |x|
|
||||
@ika.current_session.expect(:respond_to, nil) { |x| x == "msg" }
|
||||
@ika.handle_message("msg")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user