From 2c977e2b66ced314a4f51121801f62fe5c3c05e4 Mon Sep 17 00:00:00 2001 From: Skip Wonnell Date: Thu, 1 Mar 2018 08:30:15 -0600 Subject: Initial seed code contribution for CDT Issue-ID: APPC-682 Change-Id: I0331ffce2a430195c29d0d1b2295966f9eb28699 Signed-off-by: Skip Wonnell --- .../userlogin-form/userlogin-form.component.css | 27 ++++++ .../userlogin-form/userlogin-form.component.html | 45 ++++++++++ .../userlogin-form.component.spec.ts | 96 ++++++++++++++++++++++ .../userlogin-form/userlogin-form.component.ts | 51 ++++++++++++ 4 files changed, 219 insertions(+) create mode 100644 src/app/vnfs/userlogin-form/userlogin-form.component.css create mode 100644 src/app/vnfs/userlogin-form/userlogin-form.component.html create mode 100644 src/app/vnfs/userlogin-form/userlogin-form.component.spec.ts create mode 100644 src/app/vnfs/userlogin-form/userlogin-form.component.ts (limited to 'src/app/vnfs/userlogin-form') diff --git a/src/app/vnfs/userlogin-form/userlogin-form.component.css b/src/app/vnfs/userlogin-form/userlogin-form.component.css new file mode 100644 index 0000000..4df88b5 --- /dev/null +++ b/src/app/vnfs/userlogin-form/userlogin-form.component.css @@ -0,0 +1,27 @@ +/* +============LICENSE_START========================================== +=================================================================== +Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the License); +you may not use this software except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +ECOMP is a trademark and service mark of AT&T Intellectual Property. +============LICENSE_END============================================ +*/ + +/* .error-msg{ + + color: red +} */ \ No newline at end of file diff --git a/src/app/vnfs/userlogin-form/userlogin-form.component.html b/src/app/vnfs/userlogin-form/userlogin-form.component.html new file mode 100644 index 0000000..af58842 --- /dev/null +++ b/src/app/vnfs/userlogin-form/userlogin-form.component.html @@ -0,0 +1,45 @@ + + +
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
\ No newline at end of file diff --git a/src/app/vnfs/userlogin-form/userlogin-form.component.spec.ts b/src/app/vnfs/userlogin-form/userlogin-form.component.spec.ts new file mode 100644 index 0000000..d253cb7 --- /dev/null +++ b/src/app/vnfs/userlogin-form/userlogin-form.component.spec.ts @@ -0,0 +1,96 @@ +/* +============LICENSE_START========================================== +=================================================================== +Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the License); +you may not use this software except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +ECOMP is a trademark and service mark of AT&T Intellectual Property. +============LICENSE_END============================================ +*/ + +/* tslint:disable:no-unused-variable */ +import { async, ComponentFixture, inject, TestBed } from '@angular/core/testing'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { userloginFormComponent } from './userlogin-form.component'; +import { FormsModule } from '@angular/forms'; +import { NotificationService } from './../../shared/services/notification.service'; +import { ParamShareService } from './../../shared/services/paramShare.service'; +import { MappingEditorService } from './../../shared/services/mapping-editor.service'; +import { DialogService } from 'ng2-bootstrap-modal'; +import { RouterTestingModule } from '@angular/router/testing'; +import { HttpUtilService } from '.././../shared/services/httpUtil/http-util.service'; +import { UtilityService } from '.././../shared/services/utilityService/utility.service'; +import { Router } from '@angular/router'; +import {NotificationsService} from 'angular2-notifications'; + +describe('userloginFormComponent', () => { + let component: userloginFormComponent; + let fixture: ComponentFixture; + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [userloginFormComponent], + schemas: [NO_ERRORS_SCHEMA], + imports: [FormsModule, RouterTestingModule,], + providers: [UtilityService, ParamShareService, DialogService, NotificationService,NotificationsService, HttpUtilService, MappingEditorService, { + provide: Router, + useClass: MockRouter + }, { provide: Router, useClass: MockRouter }] + }) + .compileComponents(); + })); + beforeEach(() => { + fixture = TestBed.createComponent(userloginFormComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + // localStorage['userId'] = "testUser" + component.userId = 'test Usr'; + }); + + class MockRouter { + navigateByUrl(url: string) { + return url; + } + + navigate(url: string) { + return url; + } + } + class MockUtility { + randomId() { + return 123; + } + } + it('should create', () => { + expect(component).toBeTruthy(); + }); + it('get the user Id', () => { + component.getData(); + expect(localStorage.userId).toEqual('test Usr'); + }); + + it('should route to myvnfform', inject([Router], (router: Router) => { + const spy = spyOn(router, 'navigate'); + component.getData(); + const url = spy.calls.first().args[0]; + + + expect(url.length).toBe(2); + expect(url[0]).toEqual('vnfs'); + + expect(url[1]).toEqual('list'); + })); + +}); diff --git a/src/app/vnfs/userlogin-form/userlogin-form.component.ts b/src/app/vnfs/userlogin-form/userlogin-form.component.ts new file mode 100644 index 0000000..dfb665e --- /dev/null +++ b/src/app/vnfs/userlogin-form/userlogin-form.component.ts @@ -0,0 +1,51 @@ +/* +============LICENSE_START========================================== +=================================================================== +Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the License); +you may not use this software except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +ECOMP is a trademark and service mark of AT&T Intellectual Property. +============LICENSE_END============================================ +*/ + +import {Component, OnInit} from '@angular/core'; +import {Router} from '@angular/router'; +import {EmitterService} from '../../shared/services/emitter.service'; +import {UtilityService} from '../../shared/services/utilityService/utility.service'; + +@Component({selector: 'app-mvnfs-form', templateUrl: './userlogin-form.component.html', styleUrls: ['./userlogin-form.component.css']}) +export class userloginFormComponent implements OnInit { + + userId: string = ''; + + constructor(private router: Router, private utiltiy: UtilityService) { + } + + ngOnInit() { + } + + getData() { + localStorage['userId'] = this.userId; + localStorage['apiToken'] = this.utiltiy.randomId(); + EmitterService + .get('userLogin') + .emit(this.userId); + this + .router + .navigate(['vnfs', 'list']); + } + +} -- cgit 1.2.3-korg