-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: (#370) 선택된 시간 문자 반환하는 함수 구현 및 적용
- Loading branch information
1 parent
5e039ad
commit c528a65
Showing
5 changed files
with
162 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
import { getSelectedTimeOption } from '@utils/post/getSelectedTimeOption'; | ||
|
||
describe('getSelectedTimeOption 함수에서 day, hour, minute 객체를 입력받아 "10분" | "30분" | "1시간" | "6시간" | "1일" | "사용자 지정" | null 을 반환한다.', () => { | ||
test('10분 객체를 입력했을 때 10분을 반환한다.', () => { | ||
const time = { | ||
day: 0, | ||
hour: 0, | ||
minute: 10, | ||
}; | ||
|
||
const result = getSelectedTimeOption(time); | ||
|
||
expect(result).toBe('10분'); | ||
}); | ||
|
||
test('30분 객체를 입력했을 때 30분을 반환한다.', () => { | ||
const time = { | ||
day: 0, | ||
hour: 0, | ||
minute: 30, | ||
}; | ||
|
||
const result = getSelectedTimeOption(time); | ||
|
||
expect(result).toBe('30분'); | ||
}); | ||
|
||
test('1시간 객체를 입력했을 때 1시간을 반환한다.', () => { | ||
const time = { | ||
day: 0, | ||
hour: 1, | ||
minute: 0, | ||
}; | ||
|
||
const result = getSelectedTimeOption(time); | ||
|
||
expect(result).toBe('1시간'); | ||
}); | ||
|
||
test('6시간 객체를 입력했을 때 6시간을 반환한다.', () => { | ||
const time = { | ||
day: 0, | ||
hour: 6, | ||
minute: 0, | ||
}; | ||
|
||
const result = getSelectedTimeOption(time); | ||
|
||
expect(result).toBe('6시간'); | ||
}); | ||
|
||
test('1일 객체를 입력했을 때 1일을 반환한다.', () => { | ||
const time = { | ||
day: 1, | ||
hour: 0, | ||
minute: 0, | ||
}; | ||
|
||
const result = getSelectedTimeOption(time); | ||
|
||
expect(result).toBe('1일'); | ||
}); | ||
|
||
test('2일 객체를 입력했을 때 사용자지정을 반환한다.', () => { | ||
const time = { | ||
day: 2, | ||
hour: 0, | ||
minute: 0, | ||
}; | ||
|
||
const result = getSelectedTimeOption(time); | ||
|
||
expect(result).toBe('사용자지정'); | ||
}); | ||
|
||
test('3분 객체를 입력했을 때 사용자지정을 반환한다.', () => { | ||
const time = { | ||
day: 0, | ||
hour: 0, | ||
minute: 3, | ||
}; | ||
|
||
const result = getSelectedTimeOption(time); | ||
|
||
expect(result).toBe('사용자지정'); | ||
}); | ||
|
||
test('0일 0시간 0분 객체를 입력했을 때 null을 반환한다.', () => { | ||
const time = { | ||
day: 0, | ||
hour: 0, | ||
minute: 0, | ||
}; | ||
|
||
const result = getSelectedTimeOption(time); | ||
|
||
expect(result).toBe(null); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import { DeadlineOption } from '@components/PostForm/constants'; | ||
|
||
export const getSelectedTimeOption = ({ | ||
day, | ||
hour, | ||
minute, | ||
}: { | ||
day: number; | ||
hour: number; | ||
minute: number; | ||
}): DeadlineOption | '사용자지정' | null => { | ||
if (day === 0 && hour === 0 && minute === 0) return null; | ||
if (day === 0 && hour === 0 && minute === 10) return '10분'; | ||
if (day === 0 && hour === 0 && minute === 30) return '30분'; | ||
if (day === 0 && hour === 1 && minute === 0) return '1시간'; | ||
if (day === 0 && hour === 6 && minute === 0) return '6시간'; | ||
if (day === 1 && hour === 0 && minute === 0) return '1일'; | ||
|
||
return '사용자지정'; | ||
}; |