import { Form } from '../../index';
function getFormGroup(props = {}) {
let {
inputGroupProps = {},
fieldAProps = {},
fieldBProps = {},
formProps = {},
} = props;
return mount(
);
}
describe('Form-group', () => {
it('error aggregation', () => {
let errorA = 'fieldAError';
let errorB = 'fieldBError';
let props = {
fieldAProps: {
validate: () => errorA,
trigger: 'mount'
},
fieldBProps: {
validate: () => errorB,
trigger: 'mount'
}
};
let form = getFormGroup(props);
let errors = form.find('.semi-form-field-error-message span');
expect(errors.at(1).text()).toEqual(`${errorA}, ${errorB}`);
});
it('label-string', () => {
let props = {
fieldAProps: { },
fieldBProps: { },
inputGroupProps: {
label: 'semi'
}
};
let form = getFormGroup(props);
let labelText = form.find('.semi-form-field-label-text').text();
expect(labelText).toEqual('semi');
});
it('label-object', () => {
let props = {
fieldAProps: { },
fieldBProps: { },
inputGroupProps: {
label: {
text: semi,
required: true
}
}
};
let form = getFormGroup(props);
expect(form.find('.semi-form-field-label-text').text()).toEqual('semi');
});
it('labelPosition', () => {
let props = {
fieldAProps: { },
fieldBProps: { },
inputGroupProps: {
label: 'semi',
labelPosition: 'left'
}
};
let form = getFormGroup(props);
expect(form.exists('.semi-form-field-label-left')).toEqual(true);
});
it('children', () => {
let props = {
fieldAProps: {
},
}
let form = getFormGroup();
// exist field a\b and theirs label are hidden
expect(form.exists('.semi-input-group .semi-form-field-label')).toEqual(false);
});
it('decleare labelPosition, labelWidth via form props', () => {
let props = {
formProps: {
labelPosition: 'left',
labelWidth: 300
},
inputGroupProps: {
label: {
text: 'semi'
}
}
};
let form = getFormGroup(props);
expect(form.exists('.semi-form-field-label-left')).toEqual(true);
expect(form.find('.semi-form-field-label')).toHaveStyle('width', 300);
});
});