From e6e7db466a3f3bf52a367c4e387ab4deb1722e0b Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sun, 9 Apr 2023 10:20:28 +0200 Subject: [PATCH] add test utils to include pinia store --- src/tests/utils.ts | 22 ++++++++++++++++++++++ src/use-cases/task/stores/useTask.store.ts | 4 ++-- 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 src/tests/utils.ts diff --git a/src/tests/utils.ts b/src/tests/utils.ts new file mode 100644 index 0000000..682c5af --- /dev/null +++ b/src/tests/utils.ts @@ -0,0 +1,22 @@ +import { createTaskFixture } from '@/use-cases/task/models/task.fixture' +import type { TaskStoreState } from '@/use-cases/task/stores/useTask.store' +import { createTestingPinia } from '@pinia/testing' + +export interface InitialState { + 'task-store': TaskStoreState +} + +const initialState = { + 'task-store': { tasks: [createTaskFixture(), createTaskFixture()] } +} + +export const withStore = (partialState?: TaskStoreState) => ({ + global: { + plugins: [ + createTestingPinia({ + ...partialState, + initialState + }) + ] + } +}) diff --git a/src/use-cases/task/stores/useTask.store.ts b/src/use-cases/task/stores/useTask.store.ts index 4ec8d89..eb79cc1 100644 --- a/src/use-cases/task/stores/useTask.store.ts +++ b/src/use-cases/task/stores/useTask.store.ts @@ -1,12 +1,12 @@ import { defineStore } from 'pinia' import type { Taskable } from '../interfaces/taskable' -interface State { +export interface TaskStoreState { tasks: Taskable[] } export const useTaskStore = defineStore('task-store', { - state: (): State => ({ + state: (): TaskStoreState => ({ tasks: [] }), actions: {