@@ -2,16 +2,66 @@ require "../../spec_helper"
2
2
3
3
module HqTrivia
4
4
describe ShowCoordinator do
5
- it " yields the show if it is active" do
6
- coordinator = LocalCoordinator .new(" us" , active: true )
5
+ it " yields if show is active and no game type is set" do
6
+ coordinator = LocalCoordinator .new(" us" )
7
+ coordinator.show = Model ::Show .new(active: true , show_id: 123 ,
8
+ start_time: Time .utc_now, prize: 666 , show_type: " hq-us" )
9
+
10
+ show_coord = ShowCoordinator .new(coordinator)
11
+ show_coord.on_show do |show |
12
+ show.should be_a(Model ::Show )
13
+ end
14
+ end
15
+
16
+ it " yields if show is active and game type matches trivia" do
17
+ coordinator = LocalCoordinator .new(" us" , game_type: " trivia" )
18
+ coordinator.show = Model ::Show .new(active: true , show_id: 123 ,
19
+ start_time: Time .utc_now, prize: 666 , show_type: " hq-us" , game_type: " trivia" )
20
+
21
+ show_coord = ShowCoordinator .new(coordinator)
22
+ show_coord.on_show do |show |
23
+ show.should be_a(Model ::Show )
24
+ end
25
+ end
26
+
27
+ it " yields if show is active and game type matches words" do
28
+ coordinator = LocalCoordinator .new(" us" , game_type: " words" )
29
+ coordinator.show = Model ::Show .new(active: true , show_id: 123 ,
30
+ start_time: Time .utc_now, prize: 666 , show_type: " hq-us" , game_type: " words" )
31
+
7
32
show_coord = ShowCoordinator .new(coordinator)
8
33
show_coord.on_show do |show |
9
34
show.should be_a(Model ::Show )
10
35
end
11
36
end
12
37
38
+ it " does not yield if game_type does not match" do
39
+ coordinator = LocalCoordinator .new(" us" , game_type: " trivia" )
40
+ coordinator.show = Model ::Show .new(active: true , show_id: 123 ,
41
+ start_time: Time .utc_now, prize: 666 , show_type: " hq-us" , game_type: " words" )
42
+
43
+ show_coord = ShowCoordinator .new(coordinator)
44
+ show_coord.on_show(blocking: false ) do |show |
45
+ raise " bad"
46
+ end
47
+ end
48
+
49
+ it " yields the show if it is active" do
50
+ coordinator = LocalCoordinator .new(" us" )
51
+ coordinator.show = Model ::Show .new(active: true , show_id: 123 ,
52
+ start_time: Time .utc_now, prize: 666 , show_type: " hq-us" , game_type: " words" )
53
+
54
+ show_coord = ShowCoordinator .new(coordinator)
55
+ show_coord.on_show(blocking: false ) do |show |
56
+ show.should be_a(Model ::Show )
57
+ end
58
+ end
59
+
13
60
it " does not yield the show if it is inactive" do
14
- coordinator = LocalCoordinator .new(" us" , active: false )
61
+ coordinator = LocalCoordinator .new(" us" )
62
+ coordinator.show = Model ::Show .new(active: false , show_id: 123 ,
63
+ start_time: Time .utc_now, prize: 666 , show_type: " hq-us" , game_type: " words" )
64
+
15
65
show_coord = ShowCoordinator .new(coordinator)
16
66
show_coord.on_show(blocking: false ) do |show |
17
67
raise " bad"
0 commit comments