1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import {MemberFixture} from 'sentry-fixture/member';
- import {OrganizationFixture} from 'sentry-fixture/organization';
- import {BillingConfigFixture} from 'getsentry-test/fixtures/billingConfig';
- import {SubscriptionFixture} from 'getsentry-test/fixtures/subscription';
- import {act, render, screen} from 'sentry-test/reactTestingLibrary';
- import MemberListHeader from 'getsentry/hooks/memberListHeader';
- import SubscriptionStore from 'getsentry/stores/subscriptionStore';
- import {PlanTier} from 'getsentry/types';
- describe('MemberListHeader', function () {
- const organization = OrganizationFixture();
- const disabledMember = MemberFixture({
- flags: {
- 'idp:provisioned': false,
- 'idp:role-restricted': false,
- 'member-limit:restricted': true,
- 'sso:invalid': false,
- 'sso:linked': false,
- 'partnership:restricted': false,
- },
- });
- const enabledMember = MemberFixture({});
- const sub = SubscriptionFixture({
- organization,
- canTrial: false,
- isTrial: false,
- plan: 'am1_f',
- });
- SubscriptionStore.set(organization.slug, sub);
- beforeEach(() => {
- MockApiClient.addMockResponse({
- url: `/customers/${organization.slug}/billing-config/`,
- query: {tier: 'am2'},
- body: BillingConfigFixture(PlanTier.AM2),
- });
- });
- it('show upgrade if disabled member', async function () {
- const members = [disabledMember, enabledMember];
- render(<MemberListHeader organization={organization} members={members} />);
- expect(
- await screen.findByText('Multiple members requires Team Plan or above')
- ).toBeInTheDocument();
- expect(
- screen.getByTestId('member-settings-table-header-upsell-button')
- ).toBeInTheDocument();
- });
- it('do not show upgrade if no disabled member', async function () {
- const members = [enabledMember];
- render(<MemberListHeader organization={organization} members={members} />);
- await act(tick);
- expect(
- screen.queryByTestId('member-settings-table-header-upsell-button')
- ).not.toBeInTheDocument();
- });
- });
|