import {render, screen} from 'sentry-test/reactTestingLibrary';
import ConfigStore from 'sentry/stores/configStore';
import InstallWizard from 'sentry/views/admin/installWizard';
describe('InstallWizard', function () {
beforeEach(function () {
ConfigStore.set('version', '1.33.7');
MockApiClient.addMockResponse({
url: '/internal/options/?query=is:required',
body: TestStubs.InstallWizard(),
});
});
afterEach(function () {
ConfigStore.teardown();
MockApiClient.clearMockResponses();
});
it('renders', function () {
const wrapper = render();
expect(wrapper.container).toSnapshot();
});
it('has no option selected when beacon.anonymous is unset', function () {
MockApiClient.addMockResponse({
url: '/internal/options/?query=is:required',
body: TestStubs.InstallWizard({
'beacon.anonymous': {
field: {
disabledReason: null,
default: false,
required: true,
disabled: false,
allowEmpty: true,
isSet: false,
},
value: false,
},
}),
});
render();
expect(
screen.getByRole('radio', {
name: 'Please keep my usage information anonymous',
})
).not.toBeChecked();
expect(
screen.getByRole('radio', {
name: 'Send my contact information along with usage statistics',
})
).not.toBeChecked();
});
it('has no option selected even when beacon.anonymous is set', function () {
MockApiClient.addMockResponse({
url: '/internal/options/?query=is:required',
body: TestStubs.InstallWizard({
'beacon.anonymous': {
field: {
disabledReason: null,
default: false,
required: true,
disabled: false,
allowEmpty: true,
isSet: true,
},
value: false,
},
}),
});
render();
expect(
screen.getByRole('radio', {
name: 'Please keep my usage information anonymous',
})
).not.toBeChecked();
expect(
screen.getByRole('radio', {
name: 'Send my contact information along with usage statistics',
})
).not.toBeChecked();
});
});