@@ -10,33 +10,30 @@ const { createFixtures } = bindCreateFixtures('OrganizationSwitcher');
10
10
11
11
describe ( 'OrganizationSwitcher' , ( ) => {
12
12
it ( 'renders component' , async ( ) => {
13
- const { wrapper, fixtures } = await createFixtures ( f => {
13
+ const { wrapper } = await createFixtures ( f => {
14
14
f . withOrganizations ( ) ;
15
15
f . withUser ( { email_addresses : [ 'test@clerk.com' ] } ) ;
16
16
} ) ;
17
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
18
17
const { queryByRole } = await act ( ( ) => render ( < OrganizationSwitcher /> , { wrapper } ) ) ;
19
18
expect ( queryByRole ( 'button' ) ) . toBeDefined ( ) ;
20
19
} ) ;
21
20
22
21
describe ( 'Personal Workspace' , ( ) => {
23
22
it ( 'shows the personal workspace when enabled' , async ( ) => {
24
- const { wrapper, props, fixtures } = await createFixtures ( f => {
23
+ const { wrapper, props } = await createFixtures ( f => {
25
24
f . withOrganizations ( ) ;
26
25
f . withUser ( { email_addresses : [ 'test@clerk.com' ] } ) ;
27
26
} ) ;
28
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
29
27
props . setProps ( { hidePersonal : false } ) ;
30
28
const { getByText } = await act ( ( ) => render ( < OrganizationSwitcher /> , { wrapper } ) ) ;
31
29
expect ( getByText ( 'Personal account' ) ) . toBeDefined ( ) ;
32
30
} ) ;
33
31
34
32
it ( 'does not show the personal workspace when disabled' , async ( ) => {
35
- const { wrapper, props, fixtures } = await createFixtures ( f => {
33
+ const { wrapper, props } = await createFixtures ( f => {
36
34
f . withOrganizations ( ) ;
37
35
f . withUser ( { email_addresses : [ 'test@clerk.com' ] } ) ;
38
36
} ) ;
39
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
40
37
props . setProps ( { hidePersonal : true } ) ;
41
38
const { queryByText, getByRole, userEvent, getByText } = render ( < OrganizationSwitcher /> , { wrapper } ) ;
42
39
await userEvent . click ( getByRole ( 'button' ) ) ;
@@ -49,7 +46,10 @@ describe('OrganizationSwitcher', () => {
49
46
it ( 'shows the counter for pending suggestions and invitations' , async ( ) => {
50
47
const { wrapper, fixtures } = await createFixtures ( f => {
51
48
f . withOrganizations ( ) ;
52
- f . withUser ( { email_addresses : [ 'test@clerk.com' ] } ) ;
49
+ f . withUser ( {
50
+ email_addresses : [ 'test@clerk.com' ] ,
51
+ organization_memberships : [ { name : 'Org1' , id : '1' , permissions : [ 'org:sys_memberships:manage' ] } ] ,
52
+ } ) ;
53
53
} ) ;
54
54
55
55
fixtures . clerk . user ?. getOrganizationInvitations . mockReturnValueOnce (
@@ -66,8 +66,6 @@ describe('OrganizationSwitcher', () => {
66
66
} ) ,
67
67
) ;
68
68
69
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( true ) ;
70
-
71
69
await runFakeTimers ( async ( ) => {
72
70
const { getByText } = render ( < OrganizationSwitcher /> , { wrapper } ) ;
73
71
@@ -108,8 +106,6 @@ describe('OrganizationSwitcher', () => {
108
106
} ) ,
109
107
) ;
110
108
111
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( true ) ;
112
-
113
109
await runFakeTimers ( async ( ) => {
114
110
const { getByText } = render ( < OrganizationSwitcher /> , { wrapper } ) ;
115
111
@@ -122,23 +118,23 @@ describe('OrganizationSwitcher', () => {
122
118
123
119
describe ( 'OrganizationSwitcherPopover' , ( ) => {
124
120
it ( 'opens the organization switcher popover when clicked' , async ( ) => {
125
- const { wrapper, props, fixtures } = await createFixtures ( f => {
121
+ const { wrapper, props } = await createFixtures ( f => {
126
122
f . withOrganizations ( ) ;
127
123
f . withUser ( { email_addresses : [ 'test@clerk.com' ] , create_organization_enabled : true } ) ;
128
124
} ) ;
129
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
125
+
130
126
props . setProps ( { hidePersonal : true } ) ;
131
127
const { getByText, getByRole, userEvent } = render ( < OrganizationSwitcher /> , { wrapper } ) ;
132
128
await userEvent . click ( getByRole ( 'button' ) ) ;
133
129
expect ( getByText ( 'Create Organization' ) ) . toBeDefined ( ) ;
134
130
} ) ;
135
131
136
132
it ( 'lists all organizations the user belongs to' , async ( ) => {
137
- const { wrapper, props, fixtures } = await createFixtures ( f => {
133
+ const { wrapper, props } = await createFixtures ( f => {
138
134
f . withOrganizations ( ) ;
139
135
f . withUser ( { email_addresses : [ 'test@clerk.com' ] , organization_memberships : [ 'Org1' , 'Org2' ] } ) ;
140
136
} ) ;
141
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
137
+
142
138
props . setProps ( { hidePersonal : false } ) ;
143
139
const { getAllByText, getByText, getByRole, userEvent } = render ( < OrganizationSwitcher /> , { wrapper } ) ;
144
140
await userEvent . click ( getByRole ( 'button' ) ) ;
@@ -152,14 +148,14 @@ describe('OrganizationSwitcher', () => {
152
148
[ 'Member' , 'basic_member' ] ,
153
149
[ 'Guest' , 'guest_member' ] ,
154
150
] ) ( 'shows the text "%s" for the %s role in the active organization' , async ( text , role ) => {
155
- const { wrapper, props, fixtures } = await createFixtures ( f => {
151
+ const { wrapper, props } = await createFixtures ( f => {
156
152
f . withOrganizations ( ) ;
157
153
f . withUser ( {
158
154
email_addresses : [ 'test@clerk.com' ] ,
159
155
organization_memberships : [ { name : 'Org1' , role : role as MembershipRole } ] ,
160
156
} ) ;
161
157
} ) ;
162
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
158
+
163
159
props . setProps ( { hidePersonal : true } ) ;
164
160
const { getAllByText, getByText, getByRole, userEvent } = render ( < OrganizationSwitcher /> , { wrapper } ) ;
165
161
await userEvent . click ( getByRole ( 'button' ) ) ;
@@ -175,7 +171,7 @@ describe('OrganizationSwitcher', () => {
175
171
organization_memberships : [ { name : 'Org1' , role : 'basic_member' } ] ,
176
172
} ) ;
177
173
} ) ;
178
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
174
+
179
175
props . setProps ( { hidePersonal : true } ) ;
180
176
const { getByRole, userEvent } = render ( < OrganizationSwitcher /> , { wrapper } ) ;
181
177
await userEvent . click ( getByRole ( 'button' ) ) ;
@@ -192,7 +188,7 @@ describe('OrganizationSwitcher', () => {
192
188
create_organization_enabled : true ,
193
189
} ) ;
194
190
} ) ;
195
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
191
+
196
192
props . setProps ( { hidePersonal : true } ) ;
197
193
const { getByRole, userEvent } = render ( < OrganizationSwitcher /> , { wrapper } ) ;
198
194
await userEvent . click ( getByRole ( 'button' , { name : 'Open organization switcher' } ) ) ;
@@ -201,15 +197,15 @@ describe('OrganizationSwitcher', () => {
201
197
} ) ;
202
198
203
199
it ( 'does not display create organization button if permissions not present' , async ( ) => {
204
- const { wrapper, props, fixtures } = await createFixtures ( f => {
200
+ const { wrapper, props } = await createFixtures ( f => {
205
201
f . withOrganizations ( ) ;
206
202
f . withUser ( {
207
203
email_addresses : [ 'test@clerk.com' ] ,
208
204
organization_memberships : [ { name : 'Org1' , role : 'basic_member' } ] ,
209
205
create_organization_enabled : false ,
210
206
} ) ;
211
207
} ) ;
212
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
208
+
213
209
props . setProps ( { hidePersonal : true } ) ;
214
210
const { queryByRole } = await act ( ( ) => render ( < OrganizationSwitcher /> , { wrapper } ) ) ;
215
211
expect ( queryByRole ( 'button' , { name : 'Create Organization' } ) ) . not . toBeInTheDocument ( ) ;
@@ -224,7 +220,7 @@ describe('OrganizationSwitcher', () => {
224
220
create_organization_enabled : false ,
225
221
} ) ;
226
222
} ) ;
227
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
223
+
228
224
fixtures . clerk . user ?. getOrganizationInvitations . mockReturnValueOnce (
229
225
Promise . resolve ( {
230
226
data : [
@@ -268,7 +264,7 @@ describe('OrganizationSwitcher', () => {
268
264
create_organization_enabled : false ,
269
265
} ) ;
270
266
} ) ;
271
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
267
+
272
268
fixtures . clerk . user ?. getOrganizationSuggestions . mockReturnValueOnce (
273
269
Promise . resolve ( {
274
270
data : [
@@ -318,7 +314,6 @@ describe('OrganizationSwitcher', () => {
318
314
} ) ;
319
315
} ) ;
320
316
fixtures . clerk . setActive . mockReturnValueOnce ( Promise . resolve ( ) ) ;
321
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
322
317
323
318
props . setProps ( { hidePersonal : true } ) ;
324
319
const { getByRole, getByText, userEvent } = render ( < OrganizationSwitcher /> , { wrapper } ) ;
@@ -346,7 +341,6 @@ describe('OrganizationSwitcher', () => {
346
341
} ) ;
347
342
} ) ;
348
343
349
- fixtures . clerk . session ?. isAuthorized . mockResolvedValue ( false ) ;
350
344
fixtures . clerk . setActive . mockReturnValueOnce ( Promise . resolve ( ) ) ;
351
345
const { getByRole, getByText, userEvent } = render ( < OrganizationSwitcher /> , { wrapper } ) ;
352
346
await userEvent . click ( getByRole ( 'button' ) ) ;
0 commit comments