1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- import {mountWithTheme} from 'sentry-test/enzyme';
- import {initializeOrg} from 'sentry-test/initializeOrg';
- import {NotificationSettingsObject} from 'sentry/views/settings/account/notifications/constants';
- import NotificationSettings from 'sentry/views/settings/account/notifications/notificationSettings';
- const createWrapper = (
- notificationSettings: NotificationSettingsObject,
- orgProps?: any
- ) => {
- const {routerContext, organization} = initializeOrg({organization: orgProps} as any);
- MockApiClient.addMockResponse({
- url: '/users/me/notification-settings/',
- method: 'GET',
- body: notificationSettings,
- });
- MockApiClient.addMockResponse({
- url: '/users/me/notifications/',
- method: 'GET',
- body: {
- personalActivityNotifications: true,
- selfAssignOnResolve: true,
- weeklyReports: true,
- },
- });
- return mountWithTheme(
- <NotificationSettings organizations={[organization]} />,
- routerContext
- );
- };
- describe('NotificationSettings', function () {
- it('should render', function () {
- const wrapper = createWrapper({
- alerts: {user: {me: {email: 'never', slack: 'never'}}},
- deploy: {user: {me: {email: 'never', slack: 'never'}}},
- workflow: {user: {me: {email: 'never', slack: 'never'}}},
- });
- // There are 8 notification setting Selects/Toggles.
- const fields = wrapper.find('Field');
- expect(fields).toHaveLength(8);
- });
- it('renders quota section with feature flag', function () {
- const wrapper = createWrapper(
- {
- alerts: {user: {me: {email: 'never', slack: 'never'}}},
- deploy: {user: {me: {email: 'never', slack: 'never'}}},
- workflow: {user: {me: {email: 'never', slack: 'never'}}},
- },
- {features: ['slack-overage-notifications']}
- );
- // There are 9 notification setting Selects/Toggles.
- const fields = wrapper.find('Field');
- expect(fields).toHaveLength(9);
- });
- it('renders active release monitor', function () {
- const wrapper = createWrapper(
- {
- alerts: {user: {me: {email: 'never', slack: 'never'}}},
- deploy: {user: {me: {email: 'never', slack: 'never'}}},
- workflow: {user: {me: {email: 'never', slack: 'never'}}},
- },
- {features: ['active-release-monitor-alpha']}
- );
- // There are 9 notification setting Selects/Toggles.
- const fields = wrapper.find('Field');
- expect(fields).toHaveLength(9);
- });
- });
|