@@ -22,26 +22,54 @@ describe("NavbarView", () => {
22
22
23
23
it ( "renders content" , async ( ) => {
24
24
// When
25
- render ( < NavbarView user = { MockUser } onSignOut = { noop } canViewAuditLog /> )
25
+ render (
26
+ < NavbarView
27
+ user = { MockUser }
28
+ onSignOut = { noop }
29
+ canViewAuditLog
30
+ canViewDeployment
31
+ /> ,
32
+ )
26
33
27
34
// Then
28
35
await screen . findAllByText ( "Coder" , { exact : false } )
29
36
} )
30
37
31
38
it ( "workspaces nav link has the correct href" , async ( ) => {
32
- render ( < NavbarView user = { MockUser } onSignOut = { noop } canViewAuditLog /> )
39
+ render (
40
+ < NavbarView
41
+ user = { MockUser }
42
+ onSignOut = { noop }
43
+ canViewAuditLog
44
+ canViewDeployment
45
+ /> ,
46
+ )
33
47
const workspacesLink = await screen . findByText ( navLanguage . workspaces )
34
48
expect ( ( workspacesLink as HTMLAnchorElement ) . href ) . toContain ( "/workspaces" )
35
49
} )
36
50
37
51
it ( "templates nav link has the correct href" , async ( ) => {
38
- render ( < NavbarView user = { MockUser } onSignOut = { noop } canViewAuditLog /> )
52
+ render (
53
+ < NavbarView
54
+ user = { MockUser }
55
+ onSignOut = { noop }
56
+ canViewAuditLog
57
+ canViewDeployment
58
+ /> ,
59
+ )
39
60
const templatesLink = await screen . findByText ( navLanguage . templates )
40
61
expect ( ( templatesLink as HTMLAnchorElement ) . href ) . toContain ( "/templates" )
41
62
} )
42
63
43
64
it ( "users nav link has the correct href" , async ( ) => {
44
- render ( < NavbarView user = { MockUser } onSignOut = { noop } canViewAuditLog /> )
65
+ render (
66
+ < NavbarView
67
+ user = { MockUser }
68
+ onSignOut = { noop }
69
+ canViewAuditLog
70
+ canViewDeployment
71
+ /> ,
72
+ )
45
73
const userLink = await screen . findByText ( navLanguage . users )
46
74
expect ( ( userLink as HTMLAnchorElement ) . href ) . toContain ( "/users" )
47
75
} )
@@ -55,7 +83,14 @@ describe("NavbarView", () => {
55
83
}
56
84
57
85
// When
58
- render ( < NavbarView user = { mockUser } onSignOut = { noop } canViewAuditLog /> )
86
+ render (
87
+ < NavbarView
88
+ user = { mockUser }
89
+ onSignOut = { noop }
90
+ canViewAuditLog
91
+ canViewDeployment
92
+ /> ,
93
+ )
59
94
60
95
// Then
61
96
// There should be a 'B' avatar!
@@ -64,16 +99,56 @@ describe("NavbarView", () => {
64
99
} )
65
100
66
101
it ( "audit nav link has the correct href" , async ( ) => {
67
- render ( < NavbarView user = { MockUser } onSignOut = { noop } canViewAuditLog /> )
102
+ render (
103
+ < NavbarView
104
+ user = { MockUser }
105
+ onSignOut = { noop }
106
+ canViewAuditLog
107
+ canViewDeployment
108
+ /> ,
109
+ )
68
110
const auditLink = await screen . findByText ( navLanguage . audit )
69
111
expect ( ( auditLink as HTMLAnchorElement ) . href ) . toContain ( "/audit" )
70
112
} )
71
113
72
114
it ( "audit nav link is hidden for members" , async ( ) => {
73
115
render (
74
- < NavbarView user = { MockUser2 } onSignOut = { noop } canViewAuditLog = { false } /> ,
116
+ < NavbarView
117
+ user = { MockUser2 }
118
+ onSignOut = { noop }
119
+ canViewAuditLog = { false }
120
+ canViewDeployment
121
+ /> ,
75
122
)
76
123
const auditLink = screen . queryByText ( navLanguage . audit )
77
124
expect ( auditLink ) . not . toBeInTheDocument ( )
78
125
} )
126
+
127
+ it ( "deployment nav link has the correct href" , async ( ) => {
128
+ render (
129
+ < NavbarView
130
+ user = { MockUser }
131
+ onSignOut = { noop }
132
+ canViewAuditLog
133
+ canViewDeployment
134
+ /> ,
135
+ )
136
+ const auditLink = await screen . findByText ( navLanguage . deployment )
137
+ expect ( ( auditLink as HTMLAnchorElement ) . href ) . toContain (
138
+ "/settings/deployment/general" ,
139
+ )
140
+ } )
141
+
142
+ it ( "deployment nav link is hidden for members" , async ( ) => {
143
+ render (
144
+ < NavbarView
145
+ user = { MockUser2 }
146
+ onSignOut = { noop }
147
+ canViewAuditLog = { false }
148
+ canViewDeployment = { false }
149
+ /> ,
150
+ )
151
+ const auditLink = screen . queryByText ( navLanguage . deployment )
152
+ expect ( auditLink ) . not . toBeInTheDocument ( )
153
+ } )
79
154
} )
0 commit comments