Blame view

天文台pc/tianwentai-ui/node_modules/react-day-picker/src/contexts/Modifiers/ModifiersContext.test.ts 1.22 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  import { DayPickerProps } from 'DayPicker';
  
  import { renderDayPickerHook } from 'test/render';
  
  import { useModifiers } from 'contexts/Modifiers';
  import { DayModifiers, InternalModifier, Modifiers } from 'types/Modifiers';
  
  const internalModifiers = Object.values(InternalModifier);
  
  function renderHook(dayPickerProps: Partial<DayPickerProps> = {}) {
    return renderDayPickerHook<Modifiers>(useModifiers, dayPickerProps);
  }
  
  describe('when rendered with custom modifiers', () => {
    const modifier = new Date(2018, 11, 12);
    const dayModifiers: DayModifiers = {
      foo: modifier,
      today: modifier,
      outside: modifier,
      disabled: modifier,
      selected: modifier,
      hidden: modifier,
      range_start: modifier,
      range_end: modifier,
      range_middle: modifier
    };
    test('should return the custom modifiers', () => {
      const result = renderHook({ modifiers: dayModifiers });
      expect(result.current.foo).toEqual([dayModifiers.foo]);
    });
    test.each(internalModifiers)(
      'should override the %s internal modifier',
      (internalModifier) => {
        const result = renderHook({ modifiers: dayModifiers });
        expect(result.current[internalModifier]).toEqual([
          dayModifiers[internalModifier]
        ]);
      }
    );
  });