upgrade pinia colada and refactor tests

This commit is contained in:
Gauthier Roebroeck 2025-06-13 17:57:53 +08:00
parent 2ae9ccdf97
commit c2d8349b17
7 changed files with 39 additions and 48 deletions

View file

@ -4,10 +4,7 @@
// noinspection JSUnusedGlobalSymbols
// Auto generated by vite-plugin-dir2json
declare module "*i18n?dir2json&ext=.json&1" {
const json: {
"en": string;
"fr": string;
};
const json: {};
export default json;
}

View file

@ -8,7 +8,7 @@
"name": "next-ui",
"version": "0.0.0",
"dependencies": {
"@pinia/colada": "^0.17.0",
"@pinia/colada": "^0.17.1",
"@pinia/colada-plugin-auto-refetch": "^0.2.0",
"@vueuse/core": "^13.3.0",
"core-js": "^3.37.1",
@ -2016,9 +2016,9 @@
}
},
"node_modules/@pinia/colada": {
"version": "0.17.0",
"resolved": "https://registry.npmjs.org/@pinia/colada/-/colada-0.17.0.tgz",
"integrity": "sha512-u4lTNCbiUeachdRxIZ3CHKVKPJ56NP139+S4gs3AvwIZjn1l+us0QiYXppDXGKPv9yyH4msj+qFSy9CFhrfVKw==",
"version": "0.17.1",
"resolved": "https://registry.npmjs.org/@pinia/colada/-/colada-0.17.1.tgz",
"integrity": "sha512-we89QKKfLCCbhz/UOCJBYvZ5XdnbJYLDsO2prIO9W/0qMLSBRcehAi/Pm+q0wFIhvUbrAvblN3kUFxFNeyDxTw==",
"license": "MIT",
"dependencies": {
"@vue/devtools-api": "^7.7.2"

View file

@ -25,7 +25,7 @@
"storybook:build": "storybook build"
},
"dependencies": {
"@pinia/colada": "^0.17.0",
"@pinia/colada": "^0.17.1",
"@pinia/colada-plugin-auto-refetch": "^0.2.0",
"@vueuse/core": "^13.3.0",
"core-js": "^3.37.1",

View file

@ -1,24 +1,20 @@
import { afterAll, afterEach, beforeAll, beforeEach, expect, test } from 'vitest'
import { afterAll, afterEach, beforeAll, expect, test } from 'vitest'
import { server } from '@/mocks/api/node'
import { useActuatorInfo } from '@/colada/queries/actuator-info'
import { createMockColada } from '@/mocks/pinia-colada'
import { http } from 'msw'
import { baseUrl, response401Unauthorized } from '@/mocks/api/handlers/base'
import { VueWrapper } from '@vue/test-utils'
import { enableAutoUnmount } from '@vue/test-utils'
import type { ErrorCause } from '@/api/komga-client'
let mock: VueWrapper
beforeAll(() => server.listen())
beforeEach(() => {
mock = createMockColada()
})
afterEach(() => {
server.resetHandlers()
mock.unmount()
})
afterEach(() => server.resetHandlers())
afterAll(() => server.close())
enableAutoUnmount(afterEach)
test('when getting actuator-info then values are correct', async () => {
createMockColada(useActuatorInfo)
const { buildVersion, commitId, refresh } = useActuatorInfo()
await refresh()
@ -29,6 +25,7 @@ test('when getting actuator-info then values are correct', async () => {
test('when failing to get actuator-info then values are undefined', async () => {
server.use(http.get(baseUrl + 'actuator/info', response401Unauthorized))
createMockColada(useActuatorInfo)
const { buildVersion, commitId, refresh, error } = useActuatorInfo()
await refresh()

View file

@ -1,21 +1,17 @@
import { afterAll, afterEach, beforeAll, beforeEach, expect, test } from 'vitest'
import { afterAll, afterEach, beforeAll, expect, test } from 'vitest'
import { server } from '@/mocks/api/node'
import { createMockColada } from '@/mocks/pinia-colada'
import { useAnnouncements } from '@/colada/queries/announcements'
import { VueWrapper } from '@vue/test-utils'
import { enableAutoUnmount } from '@vue/test-utils'
let mock: VueWrapper
beforeAll(() => server.listen())
beforeEach(() => {
mock = createMockColada()
})
afterEach(() => {
server.resetHandlers()
mock.unmount()
})
afterEach(() => server.resetHandlers())
afterAll(() => server.close())
enableAutoUnmount(afterEach)
test('when getting announcements then values are correct', async () => {
createMockColada(useAnnouncements)
const { unreadCount, refresh } = useAnnouncements()
await refresh()

View file

@ -1,21 +1,17 @@
import { afterAll, afterEach, beforeAll, beforeEach, expect, test } from 'vitest'
import { afterAll, afterEach, beforeAll, expect, test } from 'vitest'
import { server } from '@/mocks/api/node'
import { createMockColada } from '@/mocks/pinia-colada'
import { useAppReleases } from '@/colada/queries/app-releases'
import { VueWrapper } from '@vue/test-utils'
import { enableAutoUnmount } from '@vue/test-utils'
let mock: VueWrapper
beforeAll(() => server.listen())
beforeEach(() => {
mock = createMockColada()
})
afterEach(() => {
server.resetHandlers()
mock.unmount()
})
afterEach(() => server.resetHandlers())
afterAll(() => server.close())
enableAutoUnmount(afterEach)
test('when getting app releases then values are correct', async () => {
createMockColada(useAppReleases)
const { latestRelease, isLatestVersion, refresh } = useAppReleases()
await refresh()

View file

@ -2,13 +2,18 @@ import { createPinia } from 'pinia'
import { PiniaColada } from '@pinia/colada'
import { mount } from '@vue/test-utils'
const DummyComponent = {
template: '<p></p>',
}
export const createMockColada = () =>
mount(DummyComponent, {
global: {
plugins: [createPinia(), [PiniaColada, {}]],
export const createMockColada = (setupFn: () => unknown) => {
return mount(
{
setup() {
setupFn()
return {}
},
},
})
{
global: {
plugins: [createPinia(), [PiniaColada, {}]],
},
},
)
}