Skip to content
25 changes: 25 additions & 0 deletions packages/router-core/tests/load.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { describe, expect, test, vi } from 'vitest'
import { BaseRootRoute, BaseRoute, RouterCore } from '../src'

describe('beforeLoad skip or exec', () => {
test('current behavior', async () => {
const rootRoute = new BaseRootRoute({})
const beforeLoad = vi.fn(
() => new Promise((resolve) => setTimeout(resolve, 100)),
)
const fooRoute = new BaseRoute({
getParentRoute: () => rootRoute,
path: '/foo',
beforeLoad,
})
const routeTree = rootRoute.addChildren([fooRoute])
const router = new RouterCore({
routeTree,
})
router.preloadRoute({ to: '/foo' })
await Promise.resolve()
await router.navigate({ to: '/foo' })

expect(beforeLoad).toHaveBeenCalledTimes(2)
})
})