Skip to content

Commit 4620c62

Browse files
committed
fix tests
1 parent cb3d00d commit 4620c62

File tree

2 files changed

+35
-8
lines changed

2 files changed

+35
-8
lines changed

static/app/components/modals/inviteMembersModal/index.spec.tsx

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,46 @@ import InviteMembersModal from 'sentry/components/modals/inviteMembersModal';
1212
import {ORG_ROLES} from 'sentry/constants';
1313
import TeamStore from 'sentry/stores/teamStore';
1414
import type {DetailedTeam, Scope} from 'sentry/types';
15+
import {isActiveSuperuser} from 'sentry/utils/isActiveSuperuser';
1516
import useOrganization from 'sentry/utils/useOrganization';
1617

1718
jest.mock('sentry/utils/useOrganization');
19+
jest.mock('sentry/utils/isActiveSuperuser', () => ({
20+
isActiveSuperuser: jest.fn(),
21+
}));
1822

1923
describe('InviteMembersModal', function () {
2024
const styledWrapper = styled(c => c.children);
2125

2226
type MockApiResponseFn = (
2327
client: typeof MockApiClient,
2428
orgSlug: string,
29+
is_superuser: boolean,
30+
verified_email: boolean,
2531
roles?: object[]
2632
) => jest.Mock;
27-
const defaultMockOrganizationRoles: MockApiResponseFn = (client, orgSlug, roles) => {
33+
const defaultMockOrganizationRoles: MockApiResponseFn = (
34+
client,
35+
orgSlug,
36+
is_superuser,
37+
verified_email,
38+
roles
39+
) => {
2840
return client.addMockResponse({
2941
url: `/organizations/${orgSlug}/members/me/`,
3042
method: 'GET',
31-
body: {orgRoleList: roles},
43+
body: {
44+
user: {
45+
isSuperuser: is_superuser,
46+
emails: [
47+
{
48+
email: 'test@dev.getsentry.net',
49+
is_verified: verified_email,
50+
},
51+
],
52+
},
53+
orgRoleList: roles,
54+
},
3255
});
3356
};
3457

@@ -50,6 +73,8 @@ describe('InviteMembersModal', function () {
5073
const setupView = ({
5174
orgTeams = [TeamFixture()],
5275
orgAccess = ['member:write'],
76+
is_superuser = false,
77+
verified_email = false,
5378
roles = [
5479
{
5580
id: 'admin',
@@ -69,11 +94,13 @@ describe('InviteMembersModal', function () {
6994
modalProps = defaultMockModalProps,
7095
mockApiResponses = [defaultMockOrganizationRoles],
7196
}: {
97+
is_superuser?: boolean;
7298
mockApiResponses?: MockApiResponseFn[];
7399
modalProps?: ComponentProps<typeof InviteMembersModal>;
74100
orgAccess?: Scope[];
75101
orgTeams?: DetailedTeam[];
76102
roles?: object[];
103+
verified_email?: boolean;
77104
} = {}) => {
78105
const org = OrganizationFixture({access: orgAccess, teams: orgTeams});
79106
TeamStore.reset();
@@ -82,7 +109,9 @@ describe('InviteMembersModal', function () {
82109
MockApiClient.clearMockResponses();
83110
const mocks: jest.Mock[] = [];
84111
mockApiResponses.forEach(mockApiResponse => {
85-
mocks.push(mockApiResponse(MockApiClient, org.slug, roles));
112+
mocks.push(
113+
mockApiResponse(MockApiClient, org.slug, is_superuser, verified_email, roles)
114+
);
86115
});
87116
jest.mocked(useOrganization).mockReturnValue(org);
88117

@@ -106,7 +135,7 @@ describe('InviteMembersModal', function () {
106135
};
107136

108137
it('renders', async function () {
109-
setupView();
138+
setupView({verified_email: true});
110139
await waitFor(() => {
111140
// Starts with one invite row
112141
expect(screen.getByRole('listitem')).toBeInTheDocument();
@@ -120,9 +149,7 @@ describe('InviteMembersModal', function () {
120149
});
121150

122151
it('renders for superuser', async function () {
123-
jest.mock('sentry/utils/isActiveSuperuser', () => ({
124-
isActiveSuperuser: jest.fn(),
125-
}));
152+
jest.mocked(isActiveSuperuser).mockReturnValue(true);
126153

127154
const errorResponse: MockApiResponseFn = (client, orgSlug, _) => {
128155
return client.addMockResponse({

static/app/components/modals/inviteMembersModal/inviteMembersModalview.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export default function InviteMembersModalView({
8080

8181
const isSuperUser = isActiveSuperuser();
8282

83-
const disableInputs = sendingInvites || complete || !isVerified || !isSuperUser;
83+
const disableInputs = sendingInvites || complete || (!isVerified && !isSuperUser);
8484

8585
return (
8686
<Fragment>

0 commit comments

Comments
 (0)