27 lines
944 B
JavaScript
27 lines
944 B
JavaScript
import { describe, it, expect } from 'vitest'
|
|
import router, { FRONT_DOOR } from '../src/router.js'
|
|
|
|
describe('router', () => {
|
|
it('FRONT_DOOR defaults to /showcase', () => {
|
|
expect(FRONT_DOOR).toBe('/showcase')
|
|
})
|
|
|
|
it('/ redirects to FRONT_DOOR', async () => {
|
|
// resolve() does not follow redirects (they apply on navigation), so
|
|
// actually navigate and assert the resulting route.
|
|
await router.push('/')
|
|
expect(router.currentRoute.value.path).toBe(FRONT_DOOR)
|
|
})
|
|
|
|
it('gallery is reachable at /gallery', () => {
|
|
expect(router.resolve('/gallery').name).toBe('gallery')
|
|
})
|
|
|
|
it('showcase, tags, artist resolve to named routes', () => {
|
|
expect(router.resolve('/showcase').name).toBe('showcase')
|
|
expect(router.resolve('/tags').name).toBe('tags')
|
|
expect(router.resolve('/artist/some-slug').name).toBe('artist')
|
|
expect(router.resolve('/artist/some-slug').params.slug).toBe('some-slug')
|
|
})
|
|
})
|