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; let guard: AuthGuard;
const createService = createServiceFactory({ const createService = createServiceFactory({
service: AuthGuard, service: AuthGuard,
mocks: [OAuthService], mocks: [OAuthService, Router],
imports: [RouterModule.forRoot([{ path: '', component: RouterOutletComponent }])], imports: [RouterModule.forRoot([{ path: '', component: RouterOutletComponent }])],
declarations: [RouterOutletComponent], declarations: [RouterOutletComponent],
providers: [{ provide: APP_BASE_HREF, useValue: '/' }], providers: [{ provide: APP_BASE_HREF, useValue: '/' }],
@ -26,10 +26,13 @@ describe('AuthGuard', () => {
expect(guard.canActivate(null, null)).toBe(true); 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 router = spectator.get(Router);
const expectedUrlTree = router.createUrlTree(['/account/login'], { state: { redirectUrl: '/' } });
spectator.get(OAuthService).hasValidAccessToken.andReturn(false); 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