From 5afafb7c82837a3af58c7bdc18174a785691b885 Mon Sep 17 00:00:00 2001 From: Dominik Pschenitschni Date: Mon, 17 Oct 2022 02:12:32 +0200 Subject: [PATCH] fix: move hourToDaytime to separate file in order to pass tests --- ...meSalutation.ts => useDaytimeSalutation.ts} | 18 +++--------------- .../hourToDaytime.test.ts} | 2 +- src/helpers/hourToDaytime.ts | 14 ++++++++++++++ src/views/Home.vue | 4 ++-- 4 files changed, 20 insertions(+), 18 deletions(-) rename src/composables/{useDateTimeSalutation.ts => useDaytimeSalutation.ts} (63%) rename src/{composables/useDateTimeSalutation.test.ts => helpers/hourToDaytime.test.ts} (94%) create mode 100644 src/helpers/hourToDaytime.ts diff --git a/src/composables/useDateTimeSalutation.ts b/src/composables/useDaytimeSalutation.ts similarity index 63% rename from src/composables/useDateTimeSalutation.ts rename to src/composables/useDaytimeSalutation.ts index a1d914dc51..c60b9b162a 100644 --- a/src/composables/useDateTimeSalutation.ts +++ b/src/composables/useDaytimeSalutation.ts @@ -3,23 +3,11 @@ import {useI18n} from 'vue-i18n' import {useNow} from '@vueuse/core' import {useAuthStore} from '@/stores/auth' +import {hourToDaytime} from '@/helpers/hourToDaytime' -type Daytime = 'night' | 'morning' | 'day' | 'evening' +export type Daytime = 'night' | 'morning' | 'day' | 'evening' -export function hourToDaytime(now: Date): Daytime { - const hours = now.getHours() - - const daytimeMap = { - night: hours < 5 || hours > 23, - morning: hours < 11, - day: hours < 18, - evening: hours < 23, - } as Record - - return (Object.keys(daytimeMap) as Daytime[]).find((daytime) => daytimeMap[daytime]) || 'night' -} - -export function useDateTimeSalutation() { +export function useDaytimeSalutation() { const {t} = useI18n({useScope: 'global'}) const now = useNow() const authStore = useAuthStore() diff --git a/src/composables/useDateTimeSalutation.test.ts b/src/helpers/hourToDaytime.test.ts similarity index 94% rename from src/composables/useDateTimeSalutation.test.ts rename to src/helpers/hourToDaytime.test.ts index 15087036c6..9f7bbb7036 100644 --- a/src/composables/useDateTimeSalutation.test.ts +++ b/src/helpers/hourToDaytime.test.ts @@ -1,5 +1,5 @@ import {describe, it, expect} from 'vitest' -import {hourToDaytime} from './useDateTimeSalutation' +import {hourToDaytime} from "./hourToDaytime" function dateWithHour(hours: number): Date { const newDate = new Date() diff --git a/src/helpers/hourToDaytime.ts b/src/helpers/hourToDaytime.ts new file mode 100644 index 0000000000..ea1430e48f --- /dev/null +++ b/src/helpers/hourToDaytime.ts @@ -0,0 +1,14 @@ +import type { Daytime } from '@/composables/useDaytimeSalutation' + +export function hourToDaytime(now: Date): Daytime { + const hours = now.getHours() + + const daytimeMap = { + night: hours < 5 || hours > 23, + morning: hours < 11, + day: hours < 18, + evening: hours < 23, + } as Record + + return (Object.keys(daytimeMap) as Daytime[]).find((daytime) => daytimeMap[daytime]) || 'night' +} diff --git a/src/views/Home.vue b/src/views/Home.vue index 77a0263089..73b53ca9b3 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -68,7 +68,7 @@ import AddTask from '@/components/tasks/add-task.vue' import {getHistory} from '@/modules/listHistory' import {parseDateOrNull} from '@/helpers/parseDateOrNull' import {formatDateShort, formatDateSince} from '@/helpers/time/formatDate' -import {useDateTimeSalutation} from '@/composables/useDateTimeSalutation' +import {useDaytimeSalutation} from '@/composables/useDaytimeSalutation' import {useBaseStore} from '@/stores/base' import {useListStore} from '@/stores/lists' @@ -77,7 +77,7 @@ import {useNamespaceStore} from '@/stores/namespaces' import {useAuthStore} from '@/stores/auth' import {useTaskStore} from '@/stores/tasks' -const salutation = useDateTimeSalutation() +const salutation = useDaytimeSalutation() const baseStore = useBaseStore() const authStore = useAuthStore()