diff options
author | 杨宇千 <crupest@outlook.com> | 2019-04-11 20:02:33 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-11 20:02:33 +0800 |
commit | 5b5ca3acb1b9decb5ad13798dc79ba2d58f2ce95 (patch) | |
tree | 695f7fc0bd2f6d940f64739a1f1f500c36806cef /Timeline/ClientApp/src/app/user/user-login-success | |
parent | 1c9edc5914869a3bbde20742c483182636ee4d43 (diff) | |
parent | c28941c6d86f8ea33521bba49d811bf3ff60b3d1 (diff) | |
download | timeline-5b5ca3acb1b9decb5ad13798dc79ba2d58f2ce95.tar.gz timeline-5b5ca3acb1b9decb5ad13798dc79ba2d58f2ce95.tar.bz2 timeline-5b5ca3acb1b9decb5ad13798dc79ba2d58f2ce95.zip |
Merge pull request #17 from crupest/15-user
Remember me and log out feature.
Diffstat (limited to 'Timeline/ClientApp/src/app/user/user-login-success')
3 files changed, 26 insertions, 2 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 index 6486142b..b1101e2a 100644 --- 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 @@ -5,3 +5,18 @@ .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 index e156f0f8..685f6299 100644 --- 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 @@ -3,3 +3,4 @@ </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 index ff253add..3eba2696 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 @@ -2,7 +2,8 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { ActivatedRoute } from '@angular/router'; -import { MockActivatedRoute } from 'src/app/test-utilities/activated-route.mock'; +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'; @@ -29,7 +30,7 @@ describe('UserLoginSuccessComponent', () => { (<any>mockInternalUserService).currentUserInfo = mockUserInfo; TestBed.configureTestingModule({ - declarations: [UserLoginSuccessComponent], + declarations: [UserLoginSuccessComponent, RouterLinkStubDirective], providers: [ { provide: InternalUserService, useValue: mockInternalUserService }, { provide: ActivatedRoute, useValue: mockActivatedRoute } @@ -64,4 +65,11 @@ describe('UserLoginSuccessComponent', () => { 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']); + }); }); |