Browse Source

test(core): fix a test of auth guard

pull/3729/head
mehmet-erim 7 years ago
parent
commit
e653842229
  1. 11
      npm/ng-packs/packages/core/src/lib/tests/auth.guard.spec.ts

11
npm/ng-packs/packages/core/src/lib/tests/auth.guard.spec.ts

@ -10,7 +10,7 @@ describe('AuthGuard', () => {
let guard: AuthGuard;
const createService = createServiceFactory({
service: AuthGuard,
mocks: [OAuthService],
mocks: [OAuthService, Router],
imports: [RouterModule.forRoot([{ path: '', component: RouterOutletComponent }])],
declarations: [RouterOutletComponent],
providers: [{ provide: APP_BASE_HREF, useValue: '/' }],
@ -26,10 +26,13 @@ describe('AuthGuard', () => {
expect(guard.canActivate(null, null)).toBe(true);
});
it('should return url tree when user not logged in', () => {
it('should return navigate to login page with redirectUrl state', () => {
const router = spectator.get(Router);
const expectedUrlTree = router.createUrlTree(['/account/login'], { state: { redirectUrl: '/' } });
spectator.get(OAuthService).hasValidAccessToken.andReturn(false);
expect(guard.canActivate(null, { url: '/' } as any) as UrlTree).toEqual(expectedUrlTree);
expect(guard.canActivate(null, { url: '/' } as any)).toBe(true);
expect(router.navigate).toHaveBeenCalledWith(['/account/login'], {
state: { redirectUrl: '/' },
});
});
});

Loading…
Cancel
Save