Skip to content

Commit 7039d7b

Browse files
author
GerwinV
committed
finished kicking another user from a game
1 parent 4bd1438 commit 7039d7b

File tree

3 files changed

+15
-16
lines changed

3 files changed

+15
-16
lines changed

lib/pickup_bot.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ def run(message)
99
begin
1010
handle_command(message)
1111
rescue => exception
12-
puts 'gerwin test dit'
13-
puts exception.message
1412
Rails.logger.error exception.message
1513
PickupBot::Commands::Error.run(telegram_bot, message, exception)
1614
end

lib/pickup_bot/commands/kick.rb

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,22 @@ def current_game
2323
Game.active.find_by_chat_id(@message.chat.id)
2424
end
2525

26-
def kicked_player
27-
Player.find_by(username: kick_username)
28-
end
29-
30-
def user_attendance
31-
Attendance.find_by(game: current_game, player: kicked_player )
32-
end
33-
3426
def destroy_user_attendance
3527
user_attendance.destroy
28+
3629
@telegram_bot.api.send_message(
3730
chat_id: @message.chat.id,
3831
text: I18n.t("bot.kick_user")
3932
)
4033
end
4134

35+
def user_attendance
36+
Attendance.find_by(game: current_game, player: kicked_player)
37+
end
38+
39+
def kicked_player
40+
Player.find_by(username: kick_username)
41+
end
42+
4243
end
4344
end

spec/lib/pickup_bot/commands/kick_game_spec.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,28 @@
77
let(:pickup_bot) { PickupBot.new(bot) }
88
let(:telegram_user) { Telegram::Bot::Types::User.new(user_params) }
99
let(:telegram_chat) { Telegram::Bot::Types::Chat.new(chat_params) }
10-
let(:other_player_username) { 'OneTrickPony' }
11-
let(:message) { Telegram::Bot::Types::Message.new(message_params("/kick #{other_player_username}")) }
10+
let(:message) { Telegram::Bot::Types::Message.new(message_params("/kick OneTrickPony")) }
1211

1312
before :each do
1413
stub_request(:any, /api.telegram.org/).to_return(status: 200, body:"[]", :headers => {})
1514
end
1615

1716
scenario "kick another user from a game" do
1817
game = Game.create(chat_id: fake_chat_id, required_players: 4)
19-
other_player = Player.create(telegram_user_id: 12, username: other_player_username)
20-
Attendance.create(game: game, player: other_player)
18+
kicked_player = Player.create(telegram_user_id: 12, username: "OneTrickPony")
19+
Attendance.create(game: game, player: kicked_player)
2120

2221
pickup_bot.run(message)
2322

2423
expect(a_request(:post, "https://api.telegram.org/botfake-token/sendMessage").
2524
with(body: {
26-
"chat_id" => message.chat.id,
25+
"chat_id" => "123",
2726
"text" => I18n.t(
2827
"bot.kick_user"
2928
)
3029
}
3130
)).to have_been_made.times(1)
32-
end
3331

32+
expect(Attendance.count).to eq(0)
33+
end
3434
end

0 commit comments

Comments
 (0)