const { HTML5History } = require('../../src/history/html5')
const { Router } = require('../../src/router')
const fakePromise = require('faked-promise')
-const { NAVIGATION_TYPES, createDom } = require('../utils')
+const { NAVIGATION_TYPES, createDom, noGuard } = require('../utils')
/**
* @param {Partial<import('../../src/router').RouterOptions> & { routes: import('../../src/types').RouteRecord[]}} options
})
it('resolves async components before guarding', async () => {
- const spy = jest.fn((to, from, next) => next())
+ const spy = jest.fn(noGuard)
const component = {
template: `<div></div>`,
beforeRouteEnter: spy,
it('does not call beforeRouteEnter if we were already on the page', async () => {
const router = createRouter({ routes })
- beforeRouteEnter.mockImplementation((to, from, next) => {
- next()
- })
+ beforeRouteEnter.mockImplementation(noGuard)
await router.push('/guard/one')
expect(beforeRouteEnter).toHaveBeenCalledTimes(1)
await router[navigationMethod]('/guard/one')
import { JSDOM, ConstructorOptions } from 'jsdom'
+import {} from '../src/types'
+import { NavigationGuard } from '../../vue-router/types'
export const tick = () => new Promise(resolve => process.nextTick(resolve))
return dom
}
+export const noGuard: NavigationGuard = (to, from, next) => {
+ next()
+}
+
export const components = {
Home: { template: `<div>Home</div>` },
Foo: { template: `<div>Foo</div>` },