Skip to content

Commit

Permalink
test(useTimeRangeDropdown): 시작시간과 끝시간을 선택하는 로직에 대한 테스트 케이스 작성
Browse files Browse the repository at this point in the history
  • Loading branch information
Largopie committed Jul 24, 2024
1 parent 7ed34ce commit eb6046d
Showing 1 changed file with 73 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import { renderHook } from '@testing-library/react';
import { act } from 'react';

import useTimeRangeDropdown from './useTimeRangeDropdown';

describe('useTimeRangeDropdown', () => {
it('초기 시작 시간(startTime)은 0:00, 끝 시간(emdTime)은 23:00으로 설정된다.', () => {
const { result } = renderHook(() => useTimeRangeDropdown());

expect(result.current.startTime).toBe('0:00');
expect(result.current.endTime).toBe('23:00');
});

it('선택한 시작 시간(startTime)이 끝 시간(endTime)보다 느리다면 선택한 시간값으로 변경되지 않는다.', () => {
const CHANGE_TIME = '1:00';
const { result } = renderHook(() => useTimeRangeDropdown());

act(() => {
result.current.onEndTimeChange('0:00');
});

act(() => {
result.current.onStartTimeChange(CHANGE_TIME);
});

expect(result.current.startTime).not.toBe(CHANGE_TIME);
});

it('선택한 시작 시간(startTime)이 끝 시간(endTime)보다 빠르다면 값이 선택한 시간값으로 변경된다.', () => {
const CHANGE_TIME = '1:00';
const { result } = renderHook(() => useTimeRangeDropdown());

act(() => {
result.current.onEndTimeChange('23:00');
});

act(() => {
result.current.onStartTimeChange(CHANGE_TIME);
});

expect(result.current.startTime).toBe(CHANGE_TIME);
});

it('선택한 끝 시간(endTime)이 시작 시간(startTime)보다 빠르다면 선택한 시간값으로 변경되지 않는다.', () => {
const CHANGE_TIME = '1:00';
const { result } = renderHook(() => useTimeRangeDropdown());

act(() => {
result.current.onStartTimeChange('12:00');
});

act(() => {
result.current.onEndTimeChange(CHANGE_TIME);
});

expect(result.current.endTime).not.toBe(CHANGE_TIME);
});

it('선택한 끝 시간(endTime)이 시작 시간(startTime)보다 느리다면 선택한 시간값으로 변경된다.', () => {
const CHANGE_TIME = '12:00';
const { result } = renderHook(() => useTimeRangeDropdown());

act(() => {
result.current.onStartTimeChange('0:00');
});

act(() => {
result.current.onEndTimeChange(CHANGE_TIME);
});

expect(result.current.endTime).toBe(CHANGE_TIME);
});
});

0 comments on commit eb6046d

Please sign in to comment.