Skip to content

Commit d08d969

Browse files
authored
fix(clerk-js): Fix act output in tests [SDK-1054] (#2289)
* fix(clerk-js): Fix unhandled act errors [SDK-1054] * chore(*): Add changeset * chore(clerk-js): Add missing awaits * chore(clerk-js): Minor updates
1 parent e1f7eae commit d08d969

File tree

18 files changed

+862
-986
lines changed

18 files changed

+862
-986
lines changed

.changeset/cold-coins-listen.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@clerk/clerk-js': patch
3+
---
4+
5+
Fixes errant `act` output from unit tests

packages/clerk-js/src/core/clerk.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ describe('Clerk singleton', () => {
519519
let logSpy;
520520

521521
beforeEach(() => {
522-
logSpy = jest.spyOn(console, 'log');
522+
logSpy = jest.spyOn(console, 'log').mockReturnValue(void 0);
523523
sut = new Clerk(productionPublishableKey);
524524
});
525525

packages/clerk-js/src/ui.retheme/components/OrganizationProfile/__tests__/InviteMembersPage.test.tsx

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import type { MembershipRole, OrganizationInvitationResource } from '@clerk/types';
22
import { describe } from '@jest/globals';
33
import { waitFor } from '@testing-library/dom';
4-
import { act } from '@testing-library/react';
54
import React from 'react';
65

76
import { ClerkAPIResponseError } from '../../../../core/resources';
@@ -15,12 +14,16 @@ describe('InviteMembersPage', () => {
1514
it('renders the component', async () => {
1615
const { wrapper, fixtures } = await createFixtures(f => {
1716
f.withOrganizations();
18-
f.withUser({ email_addresses: ['[email protected]'], organization_memberships: [{ name: 'Org1', role: 'admin' }] });
17+
f.withUser({
18+
email_addresses: ['[email protected]'],
19+
organization_memberships: [{ name: 'Org1', role: 'admin' }],
20+
});
1921
});
2022

2123
fixtures.clerk.organization?.getRoles.mockRejectedValue(null);
22-
const { getByText } = await act(() => render(<InviteMembersPage />, { wrapper }));
23-
expect(getByText('Invite new members to this organization')).toBeDefined();
24+
25+
const { findByText } = render(<InviteMembersPage />, { wrapper });
26+
await waitFor(async () => expect(await findByText('Invite new members to this organization')).toBeInTheDocument());
2427
});
2528

2629
describe('Submitting', () => {
@@ -42,6 +45,7 @@ describe('InviteMembersPage', () => {
4245

4346
await userEvent.click(getByRole('button', { name: /select an option/i }));
4447
await userEvent.click(getByText(/^member$/i));
48+
4549
expect(getByRole('button', { name: 'Send invitations' })).not.toBeDisabled();
4650
});
4751

@@ -61,9 +65,12 @@ describe('InviteMembersPage', () => {
6165
await userEvent.click(getByRole('button', { name: 'Select an option' }));
6266
await userEvent.click(getByText('Member'));
6367
await userEvent.click(getByRole('button', { name: 'Send invitations' }));
64-
expect(fixtures.clerk.organization?.inviteMembers).toHaveBeenCalledWith({
65-
emailAddresses: ['[email protected]'],
66-
role: 'basic_member' as MembershipRole,
68+
69+
await waitFor(() => {
70+
expect(fixtures.clerk.organization?.inviteMembers).toHaveBeenCalledWith({
71+
emailAddresses: ['[email protected]'],
72+
role: 'basic_member' as MembershipRole,
73+
});
6774
});
6875
});
6976

@@ -98,9 +105,12 @@ describe('InviteMembersPage', () => {
98105
await userEvent.click(getByRole('button', { name: 'Select an option' }));
99106
await userEvent.click(getByText('Teacher'));
100107
await userEvent.click(getByRole('button', { name: 'Send invitations' }));
101-
expect(fixtures.clerk.organization?.inviteMembers).toHaveBeenCalledWith({
102-
emailAddresses: ['[email protected]'],
103-
role: 'org:teacher' as MembershipRole,
108+
109+
await waitFor(() => {
110+
expect(fixtures.clerk.organization?.inviteMembers).toHaveBeenCalledWith({
111+
emailAddresses: ['[email protected]'],
112+
role: 'org:teacher' as MembershipRole,
113+
});
104114
});
105115
});
106116

@@ -123,9 +133,12 @@ describe('InviteMembersPage', () => {
123133
await userEvent.click(getByRole('button', { name: 'Select an option' }));
124134
await userEvent.click(getByText('Member'));
125135
await userEvent.click(getByRole('button', { name: 'Send invitations' }));
126-
expect(fixtures.clerk.organization?.inviteMembers).toHaveBeenCalledWith({
127-
128-
role: 'basic_member' as MembershipRole,
136+
137+
await waitFor(() => {
138+
expect(fixtures.clerk.organization?.inviteMembers).toHaveBeenCalledWith({
139+
140+
role: 'basic_member' as MembershipRole,
141+
});
129142
});
130143
});
131144

@@ -145,9 +158,11 @@ describe('InviteMembersPage', () => {
145158
await userEvent.click(getByRole('button', { name: 'Select an option' }));
146159
await userEvent.click(getByText('Admin'));
147160
await userEvent.click(getByRole('button', { name: 'Send invitations' }));
148-
expect(fixtures.clerk.organization?.inviteMembers).toHaveBeenCalledWith({
149-
emailAddresses: ['[email protected]'],
150-
role: 'admin' as MembershipRole,
161+
await waitFor(() => {
162+
expect(fixtures.clerk.organization?.inviteMembers).toHaveBeenCalledWith({
163+
emailAddresses: ['[email protected]'],
164+
role: 'admin' as MembershipRole,
165+
});
151166
});
152167
});
153168

0 commit comments

Comments
 (0)