From: Eduardo San Martin Morote Date: Mon, 16 Mar 2020 15:09:01 +0000 (+0100) Subject: test: guards with async components X-Git-Tag: v4.0.0-alpha.4~49 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=04259726ad0821279ae5d8a5931209d5a34b0076;p=thirdparty%2Fvuejs%2Frouter.git test: guards with async components --- diff --git a/__tests__/extractComponentsGuards.spec.ts b/__tests__/extractComponentsGuards.spec.ts index 61cfe628..b3fb90fc 100644 --- a/__tests__/extractComponentsGuards.spec.ts +++ b/__tests__/extractComponentsGuards.spec.ts @@ -63,7 +63,8 @@ beforeEach(() => { async function checkGuards( components: Exclude[], - n: number + n: number, + guardsLength: number = n ) { beforeRouteEnter.mockClear() const guards = await extractComponentsGuards( @@ -73,7 +74,7 @@ async function checkGuards( to, from ) - expect(guards).toHaveLength(n) + expect(guards).toHaveLength(guardsLength) for (const guard of guards) { expect(guard).toBeInstanceOf(Function) expect(await guard()) @@ -100,11 +101,16 @@ describe('extractComponentsGuards', () => { await checkGuards([SingleGuardNamed, SingleGuardNamed], 4) }) - // TODO: async components - it.skip('works with async components', async () => { - await checkGuards([makeAsync(NoGuard)], 0) - await checkGuards([makeAsync(SingleGuard)], 1) - await checkGuards([makeAsync(SingleGuard), makeAsync(SingleGuardNamed)], 3) + it('works with async components', async () => { + await checkGuards([makeAsync(NoGuard)], 0, 1) + await checkGuards([makeAsync(NoGuard), makeAsync(NoGuard)], 0, 2) + await checkGuards([makeAsync(SingleGuard)], 1, 1) + await checkGuards([makeAsync(SingleGuard), makeAsync(NoGuard)], 1, 2) + await checkGuards( + [makeAsync(SingleGuard), makeAsync(SingleGuardNamed)], + 3, + 3 + ) await checkGuards([makeAsync(SingleGuard), makeAsync(SingleGuard)], 2) await checkGuards( [makeAsync(SingleGuardNamed), makeAsync(SingleGuardNamed)],