mirror of
https://github.com/gotson/komga.git
synced 2026-05-05 02:53:09 +02:00
fix colada mocks
This commit is contained in:
parent
7fa0fc91e5
commit
143637dda5
7 changed files with 137 additions and 86 deletions
|
|
@ -1,14 +1,21 @@
|
|||
import { afterAll, afterEach, beforeAll, expect, test } from 'vitest'
|
||||
import { afterAll, afterEach, beforeAll, beforeEach, expect, test } from 'vitest'
|
||||
import { server } from '@/mocks/api/node'
|
||||
import { useActuatorInfo } from '@/colada/queries/actuator-info'
|
||||
import { mockPiniaColada } from '@/mocks/pinia-colada'
|
||||
import { createMockColada } from '@/mocks/pinia-colada'
|
||||
import { http, HttpResponse } from 'msw'
|
||||
import { baseUrl } from '@/mocks/api/handlers/base'
|
||||
import { VueWrapper } from '@vue/test-utils'
|
||||
|
||||
let mock: VueWrapper
|
||||
beforeAll(() => server.listen())
|
||||
afterEach(() => server.resetHandlers())
|
||||
afterAll(() => {
|
||||
server.close()
|
||||
mockPiniaColada.unmount()
|
||||
beforeEach(() => {
|
||||
mock = createMockColada()
|
||||
})
|
||||
afterEach(() => {
|
||||
server.resetHandlers()
|
||||
mock.unmount()
|
||||
})
|
||||
afterAll(() => server.close())
|
||||
|
||||
test('when getting actuator-info then values are correct', async () => {
|
||||
const { buildVersion, commitId, refresh } = useActuatorInfo()
|
||||
|
|
@ -17,3 +24,17 @@ test('when getting actuator-info then values are correct', async () => {
|
|||
expect(buildVersion.value).toBe('9.9.9')
|
||||
expect(commitId.value).toBe('ABC123')
|
||||
})
|
||||
|
||||
test('when failing to get actuator-info then values are undefined', async () => {
|
||||
server.use(
|
||||
http.get(baseUrl + 'actuator/info', () => {
|
||||
return HttpResponse.json({ error: 'Unauthorized' }, { status: 401 })
|
||||
}),
|
||||
)
|
||||
|
||||
const { buildVersion, commitId, refresh } = useActuatorInfo()
|
||||
|
||||
await refresh()
|
||||
expect(buildVersion.value).toBeUndefined()
|
||||
expect(commitId.value).toBeUndefined()
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,14 +1,19 @@
|
|||
import { afterAll, afterEach, beforeAll, expect, test } from 'vitest'
|
||||
import { afterAll, afterEach, beforeAll, beforeEach, expect, test } from 'vitest'
|
||||
import { server } from '@/mocks/api/node'
|
||||
import { mockPiniaColada } from '@/mocks/pinia-colada'
|
||||
import { createMockColada } from '@/mocks/pinia-colada'
|
||||
import { useAnnouncements } from '@/colada/queries/announcements'
|
||||
import { VueWrapper } from '@vue/test-utils'
|
||||
|
||||
let mock: VueWrapper
|
||||
beforeAll(() => server.listen())
|
||||
afterEach(() => server.resetHandlers())
|
||||
afterAll(() => {
|
||||
server.close()
|
||||
mockPiniaColada.unmount()
|
||||
beforeEach(() => {
|
||||
mock = createMockColada()
|
||||
})
|
||||
afterEach(() => {
|
||||
server.resetHandlers()
|
||||
mock.unmount()
|
||||
})
|
||||
afterAll(() => server.close())
|
||||
|
||||
test('when getting announcements then values are correct', async () => {
|
||||
const { unreadCount, refresh } = useAnnouncements()
|
||||
|
|
|
|||
|
|
@ -1,14 +1,19 @@
|
|||
import { afterAll, afterEach, beforeAll, expect, test } from 'vitest'
|
||||
import { afterAll, afterEach, beforeAll, beforeEach, expect, test } from 'vitest'
|
||||
import { server } from '@/mocks/api/node'
|
||||
import { mockPiniaColada } from '@/mocks/pinia-colada'
|
||||
import { createMockColada } from '@/mocks/pinia-colada'
|
||||
import { useAppReleases } from '@/colada/queries/app-releases'
|
||||
import { VueWrapper } from '@vue/test-utils'
|
||||
|
||||
let mock: VueWrapper
|
||||
beforeAll(() => server.listen())
|
||||
afterEach(() => server.resetHandlers())
|
||||
afterAll(() => {
|
||||
server.close()
|
||||
mockPiniaColada.unmount()
|
||||
beforeEach(() => {
|
||||
mock = createMockColada()
|
||||
})
|
||||
afterEach(() => {
|
||||
server.resetHandlers()
|
||||
mock.unmount()
|
||||
})
|
||||
afterAll(() => server.close())
|
||||
|
||||
test('when getting app releases then values are correct', async () => {
|
||||
const { latestRelease, isLatestVersion, refresh } = useAppReleases()
|
||||
|
|
|
|||
|
|
@ -1,43 +1,45 @@
|
|||
import { http, HttpResponse } from 'msw'
|
||||
import { baseUrl } from '@/mocks/api/handlers/base'
|
||||
|
||||
export const actuatorResponseOk = {
|
||||
git: {
|
||||
branch: 'master',
|
||||
commit: {
|
||||
id: 'ABC123',
|
||||
time: '2025-05-16T03:26:50Z',
|
||||
},
|
||||
},
|
||||
build: {
|
||||
artifact: 'komga',
|
||||
name: 'komga',
|
||||
version: '9.9.9',
|
||||
group: 'komga',
|
||||
},
|
||||
java: {
|
||||
version: '23.0.2',
|
||||
vendor: {
|
||||
name: 'Eclipse Adoptium',
|
||||
version: 'Temurin-23.0.2+7',
|
||||
},
|
||||
runtime: {
|
||||
name: 'OpenJDK Runtime Environment',
|
||||
version: '23.0.2+7',
|
||||
},
|
||||
jvm: {
|
||||
name: 'OpenJDK 64-Bit Server VM',
|
||||
vendor: 'Eclipse Adoptium',
|
||||
version: '23.0.2+7',
|
||||
},
|
||||
},
|
||||
os: {
|
||||
name: 'Linux',
|
||||
version: '6.8.0-57-generic',
|
||||
arch: 'amd64',
|
||||
},
|
||||
}
|
||||
|
||||
export const actuatorHandlers = [
|
||||
http.get(baseUrl + 'actuator/info', () => {
|
||||
return HttpResponse.json({
|
||||
git: {
|
||||
branch: 'master',
|
||||
commit: {
|
||||
id: 'ABC123',
|
||||
time: '2025-05-16T03:26:50Z',
|
||||
},
|
||||
},
|
||||
build: {
|
||||
artifact: 'komga',
|
||||
name: 'komga',
|
||||
version: '9.9.9',
|
||||
group: 'komga',
|
||||
},
|
||||
java: {
|
||||
version: '23.0.2',
|
||||
vendor: {
|
||||
name: 'Eclipse Adoptium',
|
||||
version: 'Temurin-23.0.2+7',
|
||||
},
|
||||
runtime: {
|
||||
name: 'OpenJDK Runtime Environment',
|
||||
version: '23.0.2+7',
|
||||
},
|
||||
jvm: {
|
||||
name: 'OpenJDK 64-Bit Server VM',
|
||||
vendor: 'Eclipse Adoptium',
|
||||
version: '23.0.2+7',
|
||||
},
|
||||
},
|
||||
os: {
|
||||
name: 'Linux',
|
||||
version: '6.8.0-57-generic',
|
||||
arch: 'amd64',
|
||||
},
|
||||
})
|
||||
return HttpResponse.json(actuatorResponseOk)
|
||||
}),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1 +1,6 @@
|
|||
import { HttpResponse } from 'msw'
|
||||
|
||||
export const baseUrl = import.meta.env.VITE_KOMGA_API_URL + '/'
|
||||
|
||||
export const response401Unauthorized = () =>
|
||||
HttpResponse.json({ error: 'Unauthorized' }, { status: 401 })
|
||||
|
|
|
|||
|
|
@ -1,33 +1,46 @@
|
|||
import { http, HttpResponse } from 'msw'
|
||||
import { baseUrl } from '@/mocks/api/handlers/base'
|
||||
|
||||
export const releasesResponseOk = [
|
||||
{
|
||||
version: '9.9.9',
|
||||
releaseDate: '2025-05-16T04:31:05Z',
|
||||
url: 'https://github.com/gotson/komga/releases/tag/1.21.3',
|
||||
latest: true,
|
||||
preRelease: false,
|
||||
description: 'Truncated',
|
||||
},
|
||||
{
|
||||
version: '1.21.2',
|
||||
releaseDate: '2025-03-12T04:19:30Z',
|
||||
url: 'https://github.com/gotson/komga/releases/tag/1.21.2',
|
||||
latest: false,
|
||||
preRelease: false,
|
||||
description: 'Truncated',
|
||||
},
|
||||
{
|
||||
version: '1.21.1',
|
||||
releaseDate: '2025-03-06T07:31:00Z',
|
||||
url: 'https://github.com/gotson/komga/releases/tag/1.21.1',
|
||||
latest: false,
|
||||
preRelease: false,
|
||||
description: 'Truncated',
|
||||
},
|
||||
]
|
||||
|
||||
export const releasesResponseOkNotLatest = [
|
||||
{
|
||||
version: '9.9.9',
|
||||
releaseDate: '2025-05-16T04:31:05Z',
|
||||
url: 'https://github.com/gotson/komga/releases/tag/1.21.3',
|
||||
latest: false,
|
||||
preRelease: false,
|
||||
description: 'Truncated',
|
||||
},
|
||||
]
|
||||
|
||||
export const releasesHandlers = [
|
||||
http.get(baseUrl + 'api/v1/releases', () => {
|
||||
return HttpResponse.json([
|
||||
{
|
||||
version: '9.9.9',
|
||||
releaseDate: '2025-05-16T04:31:05Z',
|
||||
url: 'https://github.com/gotson/komga/releases/tag/1.21.3',
|
||||
latest: true,
|
||||
preRelease: false,
|
||||
description: 'Truncated',
|
||||
},
|
||||
{
|
||||
version: '1.21.2',
|
||||
releaseDate: '2025-03-12T04:19:30Z',
|
||||
url: 'https://github.com/gotson/komga/releases/tag/1.21.2',
|
||||
latest: false,
|
||||
preRelease: false,
|
||||
description: 'Truncated',
|
||||
},
|
||||
{
|
||||
version: '1.21.1',
|
||||
releaseDate: '2025-03-06T07:31:00Z',
|
||||
url: 'https://github.com/gotson/komga/releases/tag/1.21.1',
|
||||
latest: false,
|
||||
preRelease: false,
|
||||
description: 'Truncated',
|
||||
},
|
||||
])
|
||||
return HttpResponse.json(releasesResponseOk)
|
||||
}),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ const DummyComponent = {
|
|||
template: '<p></p>',
|
||||
}
|
||||
|
||||
const pinia = createPinia()
|
||||
export const mockPiniaColada = mount(DummyComponent, {
|
||||
global: {
|
||||
plugins: [pinia, [PiniaColada, {}]],
|
||||
},
|
||||
})
|
||||
export const createMockColada = () =>
|
||||
mount(DummyComponent, {
|
||||
global: {
|
||||
plugins: [createPinia(), [PiniaColada, {}]],
|
||||
},
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in a new issue