Add global message for picks
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
c650813453
commit
603bab601d
2 changed files with 14 additions and 5 deletions
|
@ -102,10 +102,11 @@ func TestDraftSession(t *testing.T) {
|
||||||
for packi := 0; packi < 4; packi++ {
|
for packi := 0; packi < 4; packi++ {
|
||||||
mock.expect("draft-newpack")
|
mock.expect("draft-newpack")
|
||||||
for cardi := 0; cardi < 12; cardi++ {
|
for cardi := 0; cardi < 12; cardi++ {
|
||||||
|
mock.expect("draft-newpick")
|
||||||
// Get packs
|
// Get packs
|
||||||
msg1 := mock.expect("draft-newpick")
|
msg1 := mock.expect("draft-availablepicks")
|
||||||
pack1 := msg1.Data.(draft.Pack)
|
pack1 := msg1.Data.(draft.Pack)
|
||||||
msg2 := mock.expect("draft-newpick")
|
msg2 := mock.expect("draft-availablepicks")
|
||||||
pack2 := msg2.Data.(draft.Pack)
|
pack2 := msg2.Data.(draft.Pack)
|
||||||
// Pick first card in each pack
|
// Pick first card in each pack
|
||||||
mock.message(msg1.To, "pick", pack1[0].ID)
|
mock.message(msg1.To, "pick", pack1[0].ID)
|
||||||
|
@ -210,7 +211,7 @@ func TestDraftSessionButEverythingGoesWrong(t *testing.T) {
|
||||||
|
|
||||||
// Try to make someone join a session that already started
|
// Try to make someone join a session that already started
|
||||||
mock.message("test-owner", "start", nil)
|
mock.message("test-owner", "start", nil)
|
||||||
mock.multiexpect("session-start", "draft-order", "draft-newpack", "draft-newpick", "draft-newpick")
|
mock.multiexpect("session-start", "draft-order", "draft-newpack", "draft-newpick", "draft-availablepicks", "draft-availablepicks")
|
||||||
|
|
||||||
mock.message("c", "join", nil)
|
mock.message("c", "join", nil)
|
||||||
mock.expect("session-already-started")
|
mock.expect("session-already-started")
|
||||||
|
@ -329,7 +330,7 @@ func TestDraftPositioning(t *testing.T) {
|
||||||
|
|
||||||
// Start the session
|
// Start the session
|
||||||
mock.message("test-owner", "start", nil)
|
mock.message("test-owner", "start", nil)
|
||||||
mock.multiexpect("session-start", "draft-order", "draft-newpack", "draft-newpick", "draft-newpick")
|
mock.multiexpect("session-start", "draft-order", "draft-newpack", "draft-newpick", "draft-availablepicks", "draft-availablepicks")
|
||||||
}
|
}
|
||||||
|
|
||||||
makeSession("even", draftbot.PosEven)
|
makeSession("even", draftbot.PosEven)
|
||||||
|
|
|
@ -222,19 +222,27 @@ func (s *session) handlePicks() {
|
||||||
s.messages <- room.Message{
|
s.messages <- room.Message{
|
||||||
Channel: "draft",
|
Channel: "draft",
|
||||||
Type: "draft-newpack",
|
Type: "draft-newpack",
|
||||||
|
Data: []int{currentPack, totalPacks},
|
||||||
Message: fmt.Sprintf("Opening pack %d (of %d)", currentPack, totalPacks),
|
Message: fmt.Sprintf("Opening pack %d (of %d)", currentPack, totalPacks),
|
||||||
}
|
}
|
||||||
// Pick loop, this `for` handles exactly one round of packs
|
// Pick loop, this `for` handles exactly one round of packs
|
||||||
for {
|
for {
|
||||||
|
s.messages <- room.Message{
|
||||||
|
To: "draft",
|
||||||
|
Type: "draft-newpick",
|
||||||
|
Message: fmt.Sprintf("New pick for pack #%d", currentPack),
|
||||||
|
}
|
||||||
|
|
||||||
// Make bots pick their cards
|
// Make bots pick their cards
|
||||||
for _, bot := range s.Bots {
|
for _, bot := range s.Bots {
|
||||||
bot.PickNext()
|
bot.PickNext()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tell every players their new cards
|
// Tell every players their new cards
|
||||||
for pname, player := range s.Players {
|
for pname, player := range s.Players {
|
||||||
s.messages <- room.Message{
|
s.messages <- room.Message{
|
||||||
To: pname,
|
To: pname,
|
||||||
Type: "draft-newpick",
|
Type: "draft-availablepicks",
|
||||||
Data: player.CurrentPack,
|
Data: player.CurrentPack,
|
||||||
Message: fmt.Sprintf("You got these cards: %s", player.CurrentPack),
|
Message: fmt.Sprintf("You got these cards: %s", player.CurrentPack),
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue