aboutsummaryrefslogtreecommitdiff
path: root/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts
diff options
context:
space:
mode:
Diffstat (limited to 'Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts')
-rw-r--r--Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts40
1 files changed, 18 insertions, 22 deletions
diff --git a/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts b/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts
index 4a2c78f8..8aadd873 100644
--- a/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts
+++ b/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts
@@ -1,14 +1,13 @@
import { TestBed } from '@angular/core/testing';
import { HttpRequest } from '@angular/common/http';
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
+import { Router } from '@angular/router';
import { UserInfo, UserCredentials } from '../entities';
-import {
- InternalUserService, CreateTokenResult,
- UserLoginState, TokenValidationRequest, TokenValidationResult
-} from './internal-user.service';
+import { CreateTokenRequest, CreateTokenResponse, ValidateTokenRequest, ValidateTokenResponse } from './http-entities';
+import { InternalUserService, UserLoginState } from './internal-user.service';
-describe('UserService', () => {
+describe('InternalUserService', () => {
const tokenCreateUrl = '/api/User/CreateToken';
const mockUserCredentials: UserCredentials = {
@@ -17,7 +16,8 @@ describe('UserService', () => {
};
beforeEach(() => TestBed.configureTestingModule({
- imports: [HttpClientTestingModule]
+ imports: [HttpClientTestingModule],
+ providers: [{ provide: Router, useValue: null }]
}));
it('should be created', () => {
@@ -27,8 +27,9 @@ describe('UserService', () => {
it('should be nologin at first', () => {
const service: InternalUserService = TestBed.get(InternalUserService);
+ expect(service.currentUserInfo).toBe(null);
service.refreshAndGetUserState().subscribe(result => {
- expect(result.state).toBe('nologin');
+ expect(result).toBe('nologin');
});
});
@@ -46,14 +47,16 @@ describe('UserService', () => {
const httpController = TestBed.get(HttpTestingController) as HttpTestingController;
- httpController.expectOne((request: HttpRequest<UserCredentials>) =>
+ httpController.expectOne((request: HttpRequest<CreateTokenRequest>) =>
request.url === tokenCreateUrl &&
request.body.username === 'user' &&
- request.body.password === 'user').flush(<CreateTokenResult>{
+ request.body.password === 'user').flush(<CreateTokenResponse>{
token: 'test-token',
userInfo: mockUserInfo
});
+ expect(service.currentUserInfo).toEqual(mockUserInfo);
+
httpController.verify();
});
@@ -68,7 +71,7 @@ describe('UserService', () => {
const mockToken = 'mock-token';
- const tokenValidateRequestMatcher = (req: HttpRequest<TokenValidationRequest>) => {
+ const tokenValidateRequestMatcher = (req: HttpRequest<ValidateTokenRequest>) => {
return req.url === '/api/User/ValidateToken' && req.body.token === mockToken;
};
@@ -78,7 +81,7 @@ describe('UserService', () => {
service.tryLogin(mockUserCredentials).subscribe(); // subscribe to activate login
- httpController.expectOne(tokenCreateUrl).flush(<CreateTokenResult>{
+ httpController.expectOne(tokenCreateUrl).flush(<CreateTokenResponse>{
token: mockToken,
userInfo: mockUserInfo
});
@@ -86,13 +89,10 @@ describe('UserService', () => {
it('success should work well', () => {
service.refreshAndGetUserState().subscribe((result: UserLoginState) => {
- expect(result).toEqual(<UserLoginState>{
- state: 'success',
- userInfo: mockUserInfo
- });
+ expect(result).toEqual(<UserLoginState>'success');
});
- httpController.expectOne(tokenValidateRequestMatcher).flush(<TokenValidationResult>{
+ httpController.expectOne(tokenValidateRequestMatcher).flush(<ValidateTokenResponse>{
isValid: true,
userInfo: mockUserInfo
});
@@ -102,14 +102,10 @@ describe('UserService', () => {
it('invalid should work well', () => {
service.refreshAndGetUserState().subscribe((result: UserLoginState) => {
- expect(result).toEqual(<UserLoginState>{
- state: 'invalidlogin'
- });
+ expect(result).toEqual(<UserLoginState>'invalidlogin');
});
- httpController.expectOne(tokenValidateRequestMatcher).flush(<TokenValidationResult>{
- isValid: false
- });
+ httpController.expectOne(tokenValidateRequestMatcher).flush(<ValidateTokenResponse>{ isValid: false });
httpController.verify();
});