Add method to calculate the neares time
continuous-integration/drone/pr Build is passing Details

This commit is contained in:
kolaente 2020-11-25 18:50:23 +01:00
parent 2f3a8709d3
commit a5905a87e2
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
2 changed files with 111 additions and 0 deletions

View File

@ -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
}
}

View File

@ -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)
})