import {render, screen} from 'sentry-test/reactTestingLibrary'; import Form from 'sentry/components/forms/form'; import Subscriptions from 'sentry/views/settings/organizationDeveloperSettings/resourceSubscriptions'; describe('Resource Subscriptions', function () { describe('initial no-access permissions', function () { it('renders disabled checkbox with no issue permission', function () { render(
); expect(screen.getAllByRole('checkbox')).toHaveLength(3); expect(screen.getByRole('checkbox', {name: 'issue'})).toBeDisabled(); expect(screen.getByRole('checkbox', {name: 'error'})).toBeDisabled(); expect(screen.getByRole('checkbox', {name: 'comment'})).toBeDisabled(); }); it('updates events state when new permissions props is passed', function () { render( ); expect(screen.getByRole('checkbox', {name: 'issue'})).toBeEnabled(); expect(screen.getByRole('checkbox', {name: 'error'})).toBeDisabled(); expect(screen.getByRole('checkbox', {name: 'comment'})).toBeEnabled(); }); }); describe('initial access to permissions', function () { it('renders nondisabled checkbox with correct permissions', function () { render( ); expect(screen.getByRole('checkbox', {name: 'issue'})).toBeEnabled(); expect(screen.getByRole('checkbox', {name: 'error'})).toBeDisabled(); expect(screen.getByRole('checkbox', {name: 'comment'})).toBeEnabled(); }); it('revoked permissions also revokes access to corresponding subscriptions', function () { render( ); expect(screen.getByRole('checkbox', {name: 'issue'})).toBeDisabled(); expect(screen.getByRole('checkbox', {name: 'error'})).toBeDisabled(); expect(screen.getByRole('checkbox', {name: 'comment'})).toBeDisabled(); }); }); });