import {render, screen, userEvent} from 'sentry-test/reactTestingLibrary'; import {Client} from 'sentry/api'; import TeamStore from 'sentry/stores/teamStore'; import TeamDetails from 'sentry/views/settings/organizationTeams/teamDetails'; describe('TeamMembers', () => { let joinMock; const organization = TestStubs.Organization(); const team = TestStubs.Team({hasAccess: false}); const teamHasAccess = TestStubs.Team({id: '1337', slug: 'django', hasAccess: true}); const context = TestStubs.routerContext(); beforeEach(() => { TeamStore.init(); TeamStore.loadInitialData([team, teamHasAccess]); joinMock = Client.addMockResponse({ url: `/organizations/${organization.slug}/members/me/teams/${team.slug}/`, method: 'POST', }); }); afterEach(() => { Client.clearMockResponses(); TeamStore.reset(); }); it('can request membership', () => { render(
, { organization, context, } ); userEvent.click(screen.getByRole('button', {name: 'Request Access'})); expect(joinMock).toHaveBeenCalled(); expect(screen.queryByTestId('test')).not.toBeInTheDocument(); }); it('displays children', () => { render(
, { organization, context, } ); expect(screen.getByTestId('test')).toBeInTheDocument(); }); });