Mercurial > hg > thermostat-ng > web-client
view src/app/components/about/about.component.spec.ts @ 259:970066338150
Migrate About component to Angular/TS
Reviewed-by: jkang
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-October/025465.html
author | Andrew Azores <aazores@redhat.com> |
---|---|
date | Mon, 23 Oct 2017 09:55:08 -0400 |
parents | |
children |
line wrap: on
line source
/** * Copyright 2012-2017 Red Hat, Inc. * * Thermostat is distributed under the GNU General Public License, * version 2 or any later version (with a special exception described * below, commonly known as the "Classpath Exception"). * * A copy of GNU General Public License (GPL) is included in this * distribution, in the file COPYING. * * Linking Thermostat code with other modules is making a combined work * based on Thermostat. Thus, the terms and conditions of the GPL * cover the whole combination. * * As a special exception, the copyright holders of Thermostat give you * permission to link this code with independent modules to produce an * executable, regardless of the license terms of these independent * modules, and to copy and distribute the resulting executable under * terms of your choice, provided that you also meet, for each linked * independent module, the terms and conditions of the license of that * module. An independent module is a module which is not derived from * or based on Thermostat code. If you modify Thermostat, you may * extend this exception to your version of the software, but you are * not obligated to do so. If you do not wish to do so, delete this * exception statement from your version. */ import * as sinon from "sinon"; import { DebugElement } from "@angular/core"; import { ComponentFixture, ComponentFixtureAutoDetect, TestBed, } from "@angular/core/testing"; import { By } from "@angular/platform-browser"; import { AboutComponent } from "./about.component"; import { AuthServiceToken, IAuthService, } from "components/auth/auth-service.interface"; describe("AboutComponent", () => { let authService: IAuthService; let aboutComponent: AboutComponent; let fixture: ComponentFixture<AboutComponent>; let debugElement: DebugElement; let element: HTMLElement; beforeEach(() => { authService = { authHeader: "mockAuthHeader", getCommandChannelUrl: sinon.stub().returns("mockCommandChannelUrl"), goToLogin: sinon.spy(), login: sinon.spy(), logout: sinon.spy(), refresh: sinon.stub().returns({ then: sinon.stub().yields(), }), rootScope: null as ng.IRootScopeService, status: sinon.stub().returns(true), username: "mockUsername", }; TestBed.configureTestingModule({ declarations: [ AboutComponent ], providers: [ { provide: ComponentFixtureAutoDetect, useValue: true }, { provide: AuthServiceToken, useValue: authService }, ], }); fixture = TestBed.createComponent(AboutComponent); aboutComponent = fixture.componentInstance; debugElement = fixture.debugElement.query(By.css("#username")); element = debugElement.nativeElement; }); it("should assign username from authService", () => { element.textContent.should.equal(authService.username); }); });