import {OrganizationFixture} from 'sentry-fixture/organization';
import {render, screen, userEvent} from 'sentry-test/reactTestingLibrary';
import {
makeClosableHeader,
makeCloseButton,
ModalBody,
ModalFooter,
} from 'sentry/components/globalModal/components';
import DataConsentModal from 'getsentry/components/dataConsentModal';
describe('Data Consent Modal', function () {
const closeModal = jest.fn();
const organization = OrganizationFixture();
it('renders modal', async function () {
render(
);
expect(
await screen.findByText('Help Sentry be more opinionated')
).toBeInTheDocument();
});
it('agree button work correctly', async function () {
const request = MockApiClient.addMockResponse({
url: `/organizations/${organization.slug}/data-consent/`,
method: 'PUT',
body: {aggregatedDataConsent: true},
});
render(
);
expect(await screen.findByText('I agree')).toBeInTheDocument();
await userEvent.click(screen.getByRole('button', {name: 'I agree'}));
expect(closeModal).toHaveBeenCalled();
expect(request).toHaveBeenCalledTimes(1);
});
it('maybe later button work correctly', async function () {
render(
);
expect(await screen.findByText('Maybe later')).toBeInTheDocument();
await userEvent.click(screen.getByRole('button', {name: 'Maybe later'}));
expect(closeModal).toHaveBeenCalled();
});
});