import {OrganizationFixture} from 'sentry-fixture/organization'; import {SubscriptionFixture} from 'getsentry-test/fixtures/subscription'; import {render, screen} from 'sentry-test/reactTestingLibrary'; import SubscriptionContext from 'getsentry/components/subscriptionContext'; import SubscriptionStore from 'getsentry/stores/subscriptionStore'; describe('SubscriptionContext', function () { beforeEach(() => { const organization = OrganizationFixture(); MockApiClient.clearMockResponses(); MockApiClient.addMockResponse({ url: `/organizations/${organization.slug}/members/`, method: 'GET', body: [], }); }); it('render children if billing user', function () { const organization = OrganizationFixture({access: ['org:billing']}); const subscription = SubscriptionFixture({organization}); SubscriptionStore.set(organization.slug, subscription); render(Hi, {organization}); expect(screen.getByText('Hi')).toBeInTheDocument(); }); it('renders contact billing members if not billing user', function () { const organization = OrganizationFixture({access: []}); const subscription = SubscriptionFixture({organization}); SubscriptionStore.set(organization.slug, subscription); render(Hi, {organization}); expect(screen.queryByText('Hi')).not.toBeInTheDocument(); expect(screen.getByText('Insufficient Access')).toBeInTheDocument(); }); });