aboutsummaryrefslogtreecommitdiff
path: root/Timeline/ClientApp/src/app/user/user-login-success
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-04-13 13:03:18 +0800
committercrupest <crupest@outlook.com>2019-04-13 13:03:18 +0800
commit72890735ced2edc8ccecfed811393e951de5c091 (patch)
tree39cf181a18a3dc443dbab5669a04d0a23cdefd00 /Timeline/ClientApp/src/app/user/user-login-success
parent19cae15eba2bcede41b818e1b8ab7fd5ac92eb05 (diff)
downloadtimeline-72890735ced2edc8ccecfed811393e951de5c091.tar.gz
timeline-72890735ced2edc8ccecfed811393e951de5c091.tar.bz2
timeline-72890735ced2edc8ccecfed811393e951de5c091.zip
Init separate.
Diffstat (limited to 'Timeline/ClientApp/src/app/user/user-login-success')
-rw-r--r--Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.css22
-rw-r--r--Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.html6
-rw-r--r--Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.spec.ts75
-rw-r--r--Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.ts25
4 files changed, 0 insertions, 128 deletions
diff --git a/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.css b/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.css
deleted file mode 100644
index b1101e2a..00000000
--- a/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.css
+++ /dev/null
@@ -1,22 +0,0 @@
-.login-success-message {
- color: green;
-}
-
-.username {
- color: blue;
-}
-
-:host {
- display: flex;
- flex-wrap: wrap;
-}
-
-:host p {
- margin-top: 0.3em;
- margin-bottom: 0.3em;
- width: 100%;
-}
-
-.logout-button {
- margin-left: auto;
-}
diff --git a/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.html b/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.html
deleted file mode 100644
index 685f6299..00000000
--- a/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<p *ngIf="displayLoginSuccessMessage" class="mat-body login-success-message">
- Login succeeds!
-</p>
-<p class="mat-body">You have been login as <span class="username">{{ userInfo.username }}</span>.</p>
-<p class="mat-body">Your roles are <span class="roles">{{ userInfo.roles.join(', ') }}</span>.</p>
-<a mat-flat-button class="logout-button" [routerLink]="['..','logout']">Logout</a>
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
deleted file mode 100644
index 3eba2696..00000000
--- a/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.spec.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import { async, ComponentFixture, TestBed } from '@angular/core/testing';
-import { By } from '@angular/platform-browser';
-import { ActivatedRoute } from '@angular/router';
-
-import { RouterLinkStubDirective } from '../../test-utilities/router-link.mock';
-import { MockActivatedRoute } from '../../test-utilities/activated-route.mock';
-import { createMockInternalUserService } from '../internal-user-service/internal-user.service.mock';
-
-import { UserLoginSuccessComponent } from './user-login-success.component';
-import { InternalUserService } from '../internal-user-service/internal-user.service';
-
-
-describe('UserLoginSuccessComponent', () => {
- let component: UserLoginSuccessComponent;
- let fixture: ComponentFixture<UserLoginSuccessComponent>;
-
- let mockInternalUserService: jasmine.SpyObj<InternalUserService>;
- let mockActivatedRoute: MockActivatedRoute;
-
- const mockUserInfo = {
- username: 'crupest',
- roles: ['superman', 'coder']
- };
-
- beforeEach(async(() => {
- mockInternalUserService = createMockInternalUserService();
- mockActivatedRoute = new MockActivatedRoute();
-
- // mock currentUserInfo property. because it only has a getter so cast it to any first.
- (<any>mockInternalUserService).currentUserInfo = mockUserInfo;
-
- TestBed.configureTestingModule({
- declarations: [UserLoginSuccessComponent, RouterLinkStubDirective],
- providers: [
- { provide: InternalUserService, useValue: mockInternalUserService },
- { provide: ActivatedRoute, useValue: mockActivatedRoute }
- ]
- })
- .compileComponents();
- }));
-
- beforeEach(() => {
- fixture = TestBed.createComponent(UserLoginSuccessComponent);
- component = fixture.componentInstance;
- });
-
- it('should create', () => {
- fixture.detectChanges();
- expect(component).toBeTruthy();
- });
-
- it('user info should work well', () => {
- fixture.detectChanges();
-
- expect((fixture.debugElement.query(By.css('p.login-success-message')))).toBeFalsy();
-
- expect((fixture.debugElement.query(By.css('span.username')).nativeElement as HTMLSpanElement).textContent)
- .toBe(mockUserInfo.username);
- expect((fixture.debugElement.query(By.css('span.roles')).nativeElement as HTMLSpanElement).textContent)
- .toBe(mockUserInfo.roles.join(', '));
- });
-
- it('login success message should display well', () => {
- mockActivatedRoute.pushSnapshotWithParamMap({ fromlogin: 'true' });
- fixture.detectChanges();
- expect((fixture.debugElement.query(By.css('p.login-success-message')))).toBeTruthy();
- });
-
- it('logout button should be set well', () => {
- fixture.detectChanges();
- const routerLinkDirective: RouterLinkStubDirective =
- fixture.debugElement.query(By.css('a')).injector.get(RouterLinkStubDirective);
- expect(routerLinkDirective.linkParams).toEqual(['..', 'logout']);
- });
-});
diff --git a/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.ts b/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.ts
deleted file mode 100644
index 2ae584d6..00000000
--- a/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { ActivatedRoute } from '@angular/router';
-
-import { UserInfo } from '../entities';
-import { InternalUserService } from '../internal-user-service/internal-user.service';
-import { throwIfNullOrUndefined } from 'src/app/utilities/language-untilities';
-
-@Component({
- selector: 'app-user-login-success',
- templateUrl: './user-login-success.component.html',
- styleUrls: ['./user-login-success.component.css']
-})
-export class UserLoginSuccessComponent implements OnInit {
-
- displayLoginSuccessMessage = false;
-
- userInfo!: UserInfo;
-
- constructor(private route: ActivatedRoute, private userService: InternalUserService) { }
-
- ngOnInit() {
- this.userInfo = throwIfNullOrUndefined(this.userService.currentUserInfo, () => 'Route error. No login now!');
- this.displayLoginSuccessMessage = this.route.snapshot.paramMap.get('fromlogin') === 'true';
- }
-}