label.test.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { Form } from '../../index';
  2. import { noop } from 'lodash';
  3. import { BASE_CLASS_PREFIX } from '../../../semi-foundation/base/constants';
  4. const Label = Form.Label;
  5. function getLabel(props) {
  6. return mount(<Label {...props}></Label>);
  7. }
  8. describe('Form.Label', () => {
  9. it('className & style', () => {
  10. let props = {
  11. className: 'label-test',
  12. style: {
  13. color: 'red',
  14. },
  15. };
  16. const label = getLabel(props);
  17. expect(label.exists('label.label-test')).toEqual(true);
  18. expect(label.find('label.label-test')).toHaveStyle('color', 'red');
  19. });
  20. it('required', () => {
  21. let props = {
  22. required: true,
  23. };
  24. const label = getLabel(props);
  25. expect(label.exists(`.${BASE_CLASS_PREFIX}-form-field-label-required`)).toEqual(true);
  26. });
  27. it('text', () => {
  28. let props = {
  29. text: 'semi',
  30. };
  31. const label = getLabel(props);
  32. expect(label.text()).toEqual('semi');
  33. // text = 0
  34. label.setProps({ text: 0 });
  35. label.update();
  36. expect(label.text()).toEqual('0');
  37. let text = <div>{'semi'}</div>;
  38. // text = reactNode
  39. label.setProps({ text: text });
  40. label.update();
  41. expect(label.contains(text)).toEqual(true);
  42. });
  43. it('text-align', () => {
  44. let props = {
  45. align: 'right',
  46. };
  47. const label = getLabel(props);
  48. expect(label.exists(`.${BASE_CLASS_PREFIX}-form-field-label-right`)).toEqual(true);
  49. });
  50. it('width', () => {
  51. let props = {
  52. width: 200,
  53. };
  54. const label = getLabel(props);
  55. expect(label.find(`.${BASE_CLASS_PREFIX}-form-field-label`)).toHaveStyle('width', 200);
  56. });
  57. it('disabled', () => {
  58. let props = {
  59. disabled: true,
  60. };
  61. const label = getLabel(props);
  62. expect(label.exists(`.${BASE_CLASS_PREFIX}-form-field-label-disabled`)).toEqual(true);
  63. });
  64. });