import {mountWithTheme} from 'sentry-test/enzyme'; import Form from 'app/views/settings/components/forms/form'; import FormModel from 'app/views/settings/components/forms/model'; import TextField from 'app/views/settings/components/forms/textField'; describe('FormField + model', function () { let model; let wrapper; const routerContext = TestStubs.routerContext(); beforeEach(function () { model = new FormModel(); }); it('renders with Form', function () { wrapper = mountWithTheme(
, routerContext ); expect(wrapper).toSnapshot(); }); it('sets initial data in model', function () { wrapper = mountWithTheme( , routerContext ); expect(model.initialData.fieldName).toBe('test'); }); it('has `defaultValue` from field', function () { wrapper = mountWithTheme( , routerContext ); expect(model.initialData.fieldName).toBe('foo'); expect(model.fields.get('fieldName')).toBe('foo'); }); it('does not use `defaultValue` when there is initial data', function () { wrapper = mountWithTheme( , routerContext ); expect(model.initialData.fieldName).toBe('test'); expect(model.fields.get('fieldName')).toBe('test'); }); it('transforms `defaultValue` from field with `setValue`', function () { wrapper = mountWithTheme( , routerContext ); expect(model.initialData.fieldName).toBe('foofoo'); expect(model.fields.get('fieldName')).toBe('foofoo'); }); it('sets field descriptor in model', function () { wrapper = mountWithTheme( , routerContext ); expect(model.getDescriptor('fieldName', 'required')).toBe(true); }); it('removes field descriptor in model on unmount', function () { wrapper = mountWithTheme( , routerContext ); expect(model.fieldDescriptor.has('fieldName')).toBe(true); wrapper.unmount(); expect(model.fieldDescriptor.has('fieldName')).toBe(false); }); });