Add method to calculate the neares time
continuous-integration/drone/pr Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
This commit is contained in:
parent
2f3a8709d3
commit
a5905a87e2
|
@ -0,0 +1,21 @@
|
|||
export function calculateNearestTime(currentDate = new Date()) {
|
||||
if (currentDate.getHours() <= 9 || currentDate.getHours() > 21) {
|
||||
return 9
|
||||
}
|
||||
|
||||
if (currentDate.getHours() <= 12) {
|
||||
return 12
|
||||
}
|
||||
|
||||
if (currentDate.getHours() <= 15) {
|
||||
return 15
|
||||
}
|
||||
|
||||
if (currentDate.getHours() <= 18) {
|
||||
return 18
|
||||
}
|
||||
|
||||
if (currentDate.getHours() <= 21) {
|
||||
return 21
|
||||
}
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
import {calculateNearestTime} from './calculateNearestTime'
|
||||
|
||||
test('5:00', () => {
|
||||
const date = new Date()
|
||||
date.setHours(5)
|
||||
expect(calculateNearestTime(date)).toBe(9)
|
||||
})
|
||||
|
||||
test('7:00', () => {
|
||||
const date = new Date()
|
||||
date.setHours(7)
|
||||
expect(calculateNearestTime(date)).toBe(9)
|
||||
})
|
||||
|
||||
test('7:41', () => {
|
||||
const date = new Date()
|
||||
date.setHours(7)
|
||||
date.setMinutes(41)
|
||||
expect(calculateNearestTime(date)).toBe(9)
|
||||
})
|
||||
|
||||
test('9:00', () => {
|
||||
const date = new Date()
|
||||
date.setHours(9)
|
||||
date.setMinutes(0)
|
||||
expect(calculateNearestTime(date)).toBe(9)
|
||||
})
|
||||
|
||||
test('10:00', () => {
|
||||
const date = new Date()
|
||||
date.setHours(10)
|
||||
date.setMinutes(0)
|
||||
expect(calculateNearestTime(date)).toBe(12)
|
||||
})
|
||||
|
||||
test('12:00', () => {
|
||||
const date = new Date()
|
||||
date.setHours(12)
|
||||
date.setMinutes(0)
|
||||
expect(calculateNearestTime(date)).toBe(12)
|
||||
})
|
||||
|
||||
test('13:00', () => {
|
||||
const date = new Date()
|
||||
date.setHours(13)
|
||||
date.setMinutes(0)
|
||||
expect(calculateNearestTime(date)).toBe(15)
|
||||
})
|
||||
|
||||
test('15:00', () => {
|
||||
const date = new Date()
|
||||
date.setHours(15)
|
||||
date.setMinutes(0)
|
||||
expect(calculateNearestTime(date)).toBe(15)
|
||||
})
|
||||
|
||||
test('16:00', () => {
|
||||
const date = new Date()
|
||||
date.setHours(16)
|
||||
date.setMinutes(0)
|
||||
expect(calculateNearestTime(date)).toBe(18)
|
||||
})
|
||||
|
||||
test('18:00', () => {
|
||||
const date = new Date()
|
||||
date.setHours(18)
|
||||
date.setMinutes(0)
|
||||
expect(calculateNearestTime(date)).toBe(18)
|
||||
})
|
||||
|
||||
test('19:00', () => {
|
||||
const date = new Date()
|
||||
date.setHours(19)
|
||||
date.setMinutes(0)
|
||||
expect(calculateNearestTime(date)).toBe(21)
|
||||
})
|
||||
|
||||
test('22:00', () => {
|
||||
const date = new Date()
|
||||
date.setHours(22)
|
||||
date.setMinutes(0)
|
||||
expect(calculateNearestTime(date)).toBe(9)
|
||||
})
|
||||
|
||||
test('22:40', () => {
|
||||
const date = new Date()
|
||||
date.setHours(22)
|
||||
date.setMinutes(0)
|
||||
expect(calculateNearestTime(date)).toBe(9)
|
||||
})
|
Reference in New Issue