From f7b51fa06459493ba2987eb4bb93e1a4430bd4b6 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 13 Mar 2019 22:39:41 +0800 Subject: Add unit test. --- .../user/user-dialog/user-dialog.component.spec.ts | 11 +++++++---- .../user-login-success.component.spec.ts | 4 +--- .../app/user/user-login/user-login.component.spec.ts | 19 +++++++++---------- 3 files changed, 17 insertions(+), 17 deletions(-) (limited to 'Timeline/ClientApp/src') diff --git a/Timeline/ClientApp/src/app/user/user-dialog/user-dialog.component.spec.ts b/Timeline/ClientApp/src/app/user/user-dialog/user-dialog.component.spec.ts index fbabdb1a..47860eee 100644 --- a/Timeline/ClientApp/src/app/user/user-dialog/user-dialog.component.spec.ts +++ b/Timeline/ClientApp/src/app/user/user-dialog/user-dialog.component.spec.ts @@ -1,9 +1,8 @@ import { Component } from '@angular/core'; -import { async, ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing'; -import { By } from '@angular/platform-browser'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { Router, Event } from '@angular/router'; -import { of, Observable } from 'rxjs'; -import { delay } from 'rxjs/operators'; + +import { Observable } from 'rxjs'; import { UserDialogComponent } from './user-dialog.component'; @@ -35,6 +34,10 @@ describe('UserDialogComponent', () => { beforeEach(() => { fixture = TestBed.createComponent(UserDialogComponent); component = fixture.componentInstance; + fixture.detectChanges(); }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.spec.ts b/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.spec.ts index 1efbb5c7..ff253add 100644 --- a/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.spec.ts +++ b/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.spec.ts @@ -60,10 +60,8 @@ describe('UserLoginSuccessComponent', () => { }); it('login success message should display well', () => { - mockActivatedRoute.pushSnapshotWithParamMap({ reason: 'login' }); - + mockActivatedRoute.pushSnapshotWithParamMap({ fromlogin: 'true' }); fixture.detectChanges(); - expect((fixture.debugElement.query(By.css('p.login-success-message')))).toBeTruthy(); }); }); diff --git a/Timeline/ClientApp/src/app/user/user-login/user-login.component.spec.ts b/Timeline/ClientApp/src/app/user/user-login/user-login.component.spec.ts index 9c9ee1dc..693d5b6e 100644 --- a/Timeline/ClientApp/src/app/user/user-login/user-login.component.spec.ts +++ b/Timeline/ClientApp/src/app/user/user-login/user-login.component.spec.ts @@ -7,7 +7,6 @@ import { ActivatedRoute } from '@angular/router'; import { of, throwError } from 'rxjs'; import { createMockInternalUserService } from '../internal-user-service/internal-user.service.mock'; -import { MockActivatedRoute } from '../../test-utilities/activated-route.mock'; import { UserLoginComponent } from './user-login.component'; import { InternalUserService } from '../internal-user-service/internal-user.service'; import { UserInfo } from '../entities'; @@ -16,17 +15,17 @@ describe('UserLoginComponent', () => { let component: UserLoginComponent; let fixture: ComponentFixture; let mockInternalUserService: jasmine.SpyObj; - let mockActivatedRoute: MockActivatedRoute; beforeEach(async(() => { mockInternalUserService = createMockInternalUserService(); - mockActivatedRoute = new MockActivatedRoute(); + + // mock property + (mockInternalUserService).currentUserInfo = null; TestBed.configureTestingModule({ declarations: [UserLoginComponent], providers: [ - { provide: InternalUserService, useValue: mockInternalUserService }, - { provide: ActivatedRoute, useValue: mockActivatedRoute } + { provide: InternalUserService, useValue: mockInternalUserService } ], imports: [ReactiveFormsModule], schemas: [NO_ERRORS_SCHEMA] @@ -77,22 +76,22 @@ describe('UserLoginComponent', () => { component.onLoginButtonClick(); expect(mockInternalUserService.tryLogin).toHaveBeenCalledWith(mockValue); - expect(mockInternalUserService.userRouteNavigate).toHaveBeenCalledWith(['success', { reason: 'login' }]); + expect(mockInternalUserService.userRouteNavigate).toHaveBeenCalledWith(['success', { fromlogin: 'true' }]); }); describe('message display', () => { it('nologin reason should display', () => { - mockActivatedRoute.pushSnapshotWithParamMap({ reason: 'nologin' }); fixture.detectChanges(); - expect(component.message).toBe('nologin'); + component.message = 'nologin'; + fixture.detectChanges(); expect((fixture.debugElement.query(By.css('p.mat-body')).nativeElement as HTMLParagraphElement).textContent).toBe('You haven\'t login.'); }); it('invalid login reason should display', () => { - mockActivatedRoute.pushSnapshotWithParamMap({ reason: 'invalidlogin' }); fixture.detectChanges(); - expect(component.message).toBe('invalidlogin'); + component.message = 'invalidlogin'; + fixture.detectChanges(); expect((fixture.debugElement.query(By.css('p.mat-body')).nativeElement as HTMLParagraphElement).textContent).toBe('Your login is no longer valid.'); }); -- cgit v1.2.3