-
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.
refactor: (#205) 마감 시간을 구하는 유틸 함수 분리
- Loading branch information
1 parent
e9f0994
commit b759ccd
Showing
3 changed files
with
87 additions
and
30 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
import { getDeadlineTime } from '@utils/post/getDeadlineTime'; | ||
|
||
describe('getDeadlineTime를 이용하여 사용자에게 마감 시간을 알려준다.', () => { | ||
test('5분을 설정했을 때 5분으로 표시된다', () => { | ||
const result = getDeadlineTime({ | ||
day: 0, | ||
hour: 0, | ||
minute: 5, | ||
}); | ||
|
||
expect(result).toBe('5분 후에 마감됩니다.'); | ||
}); | ||
|
||
test('1시간 5분을 설정했을 때 1시간 5분으로 표시된다', () => { | ||
const result = getDeadlineTime({ | ||
day: 0, | ||
hour: 1, | ||
minute: 5, | ||
}); | ||
|
||
expect(result).toBe('1시간 5분 후에 마감됩니다.'); | ||
}); | ||
|
||
test('2일 23시간 59분을 설정했을 때 2일 23시간 59분으로 표시된다', () => { | ||
const result = getDeadlineTime({ | ||
day: 2, | ||
hour: 23, | ||
minute: 59, | ||
}); | ||
|
||
expect(result).toBe('2일 23시간 59분 후에 마감됩니다.'); | ||
}); | ||
|
||
test('0일 0시간 0분을 설정했을 때 "마감 시간을 선택해주세요"를 표시된다', () => { | ||
const result = getDeadlineTime({ | ||
day: 0, | ||
hour: 0, | ||
minute: 0, | ||
}); | ||
|
||
expect(result).toBe('마감 시간을 선택해주세요'); | ||
}); | ||
|
||
test('-1일 -1시간 -1분을 설정했을 때 "마감 시간을 다시 설정해주세요"를 표시된다', () => { | ||
const result = getDeadlineTime({ | ||
day: -1, | ||
hour: -1, | ||
minute: -1, | ||
}); | ||
|
||
expect(result).toBe('마감 시간을 다시 설정해주세요'); | ||
}); | ||
}); |
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,33 @@ | ||
export const getDeadlineTime = ({ | ||
day, | ||
hour, | ||
minute, | ||
}: { | ||
day: number; | ||
hour: number; | ||
minute: number; | ||
}) => { | ||
const timeMessage = []; | ||
|
||
if (day < 0 || hour < 0 || minute < 0) { | ||
return '마감 시간을 다시 설정해주세요'; | ||
} | ||
|
||
if (day === 0 && hour === 0 && minute === 0) { | ||
return '마감 시간을 선택해주세요'; | ||
} | ||
|
||
if (day > 0) { | ||
timeMessage.push(`${day}일`); | ||
} | ||
|
||
if (hour > 0) { | ||
timeMessage.push(`${hour}시간`); | ||
} | ||
|
||
if (minute > 0) { | ||
timeMessage.push(`${minute}분`); | ||
} | ||
|
||
return `${timeMessage.join(' ')} 후에 마감됩니다.`; | ||
}; |