@@ -16,32 +16,55 @@ import (
16
16
"github.com/coder/coder/v2/testutil"
17
17
)
18
18
19
- func TestPauseNotifications (t * testing.T ) {
19
+ func TestNotifications (t * testing.T ) {
20
20
t .Parallel ()
21
21
22
- // given
23
- ownerClient , db := coderdtest .NewWithDatabase (t , nil )
24
- _ = coderdtest .CreateFirstUser (t , ownerClient )
25
-
26
- // when
27
- inv , root := clitest .New (t , "notifications" , "pause" )
28
- clitest .SetupConfig (t , ownerClient , root )
29
-
30
- var buf bytes.Buffer
31
- inv .Stdout = & buf
32
- err := inv .Run ()
33
- require .NoError (t , err )
34
-
35
- // then
36
- ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitShort )
37
- t .Cleanup (cancel )
38
- settingsJSON , err := db .GetNotificationsSettings (ctx )
39
- require .NoError (t , err )
40
-
41
- var settings codersdk.NotificationsSettings
42
- err = json .Unmarshal ([]byte (settingsJSON ), & settings )
43
- require .NoError (t , err )
44
- require .True (t , settings .NotifierPaused )
22
+ tests := []struct {
23
+ name string
24
+ command string
25
+ expectPaused bool
26
+ }{
27
+ {
28
+ name : "PauseNotifications" ,
29
+ command : "pause" ,
30
+ expectPaused : true ,
31
+ },
32
+ {
33
+ name : "ResumeNotifications" ,
34
+ command : "resume" ,
35
+ expectPaused : false ,
36
+ },
37
+ }
38
+
39
+ for _ , tt := range tests {
40
+ t .Run (tt .name , func (t * testing.T ) {
41
+ t .Parallel ()
42
+
43
+ // given
44
+ ownerClient , db := coderdtest .NewWithDatabase (t , nil )
45
+ _ = coderdtest .CreateFirstUser (t , ownerClient )
46
+
47
+ // when
48
+ inv , root := clitest .New (t , "notifications" , tt .command )
49
+ clitest .SetupConfig (t , ownerClient , root )
50
+
51
+ var buf bytes.Buffer
52
+ inv .Stdout = & buf
53
+ err := inv .Run ()
54
+ require .NoError (t , err )
55
+
56
+ // then
57
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitShort )
58
+ t .Cleanup (cancel )
59
+ settingsJSON , err := db .GetNotificationsSettings (ctx )
60
+ require .NoError (t , err )
61
+
62
+ var settings codersdk.NotificationsSettings
63
+ err = json .Unmarshal ([]byte (settingsJSON ), & settings )
64
+ require .NoError (t , err )
65
+ require .Equal (t , tt .expectPaused , settings .NotifierPaused )
66
+ })
67
+ }
45
68
}
46
69
47
70
func TestPauseNotifications_RegularUser (t * testing.T ) {
@@ -76,31 +99,3 @@ func TestPauseNotifications_RegularUser(t *testing.T) {
76
99
require .NoError (t , err )
77
100
require .False (t , settings .NotifierPaused ) // still running
78
101
}
79
-
80
- func TestResumeNotifications (t * testing.T ) {
81
- t .Parallel ()
82
-
83
- // given
84
- ownerClient , db := coderdtest .NewWithDatabase (t , nil )
85
- _ = coderdtest .CreateFirstUser (t , ownerClient )
86
-
87
- // when
88
- inv , root := clitest .New (t , "notifications" , "resume" )
89
- clitest .SetupConfig (t , ownerClient , root )
90
-
91
- var buf bytes.Buffer
92
- inv .Stdout = & buf
93
- err := inv .Run ()
94
- require .NoError (t , err )
95
-
96
- // then
97
- ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitShort )
98
- t .Cleanup (cancel )
99
- settingsJSON , err := db .GetNotificationsSettings (ctx )
100
- require .NoError (t , err )
101
-
102
- var settings codersdk.NotificationsSettings
103
- err = json .Unmarshal ([]byte (settingsJSON ), & settings )
104
- require .NoError (t , err )
105
- require .False (t , settings .NotifierPaused )
106
- }
0 commit comments