Added specs for app provider; changed target to es6; removed console log; removed spec focus in logger spec

This commit is contained in:
Darren Nelsen 2018-02-22 12:05:02 -05:00
parent af42948f96
commit a2c35ac810
5 changed files with 42 additions and 6 deletions

View File

@ -1,4 +1,4 @@
import { TestBed, inject, async } from '@angular/core/testing'; import { TestBed, getTestBed, inject, async } from '@angular/core/testing';
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
import { XHRBackend, Response, ResponseOptions } from '@angular/http'; import { XHRBackend, Response, ResponseOptions } from '@angular/http';
import { MockBackend, MockConnection } from '@angular/http/testing'; import { MockBackend, MockConnection } from '@angular/http/testing';
@ -19,6 +19,14 @@ import { Platform } from 'ionic-angular';
import { File } from '@ionic-native/file'; import { File } from '@ionic-native/file';
describe('AppProvider', () => { describe('AppProvider', () => {
let injector: TestBed;
let service: AppProvider;
let httpMock: HttpTestingController;
let urls = [
'assets/appConfig.json',
'assets/externalServices.json'
];
beforeEach(() => { beforeEach(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ imports: [
@ -41,5 +49,32 @@ describe('AppProvider', () => {
] ]
}); });
injector = getTestBed();
service = injector.get(AppProvider);
httpMock = injector.get(HttpTestingController);
});
it('should load', (done) => {
service.load().then(() => {
done();
});
setTimeout(() => {
httpMock.expectOne(urls[1]).flush('{}');
httpMock.expectOne(urls[0]).flush('{"packageName":"copay","packageDescription":"Copay Bitcoin Wallet","packageNameId":"com.bitpay.copay","themeColor":"#192c3a","userVisibleName":"Copay","purposeLine":"Copay Bitcoin Wallet","bundleName":"copay","appUri":"copay","name":"copay","nameNoSpace":"copay","nameCase":"Copay","nameCaseNoSpace":"Copay","gitHubRepoName":"copay","gitHubRepoUrl":"git://github.com/bitpay/copay.git","gitHubRepoBugs":"https://github.com/bitpay/copay/issues","disclaimerUrl":"https://copay.io/disclaimer","url":"https://copay.io","appDescription":"Copay Bitcoin Wallet","winAppName":"CopayWallet","WindowsStoreIdentityName":"18C7659D.Copay-SecureBitcoinWallet","WindowsStoreDisplayName":"Copay - Secure Bitcoin Wallet","windowsAppId":"804636ee-b017-4cad-8719-e58ac97ffa5c","pushSenderId":"1036948132229","description":"A Secure Bitcoin Wallet","version":"4.0.5","androidVersion":"40000005","_extraCSS":null,"_enabledExtensions":{"coinbase":true,"glidera":true,"debitcard":false,"amazon":true,"mercadolibre":true,"shapeshift":true},"commitHash":"36d3601"}');
}, 0);
});
it('should catch an error when loading fails', (done) => {
service.config.load = (): Promise<any> => {
let prom = new Promise((resolve, reject) => {
reject('test rejection');
});
return prom;
};
service.load().catch(() => {
done();
});
}); });
}); });

View File

@ -50,7 +50,7 @@ export class AppProvider {
public http: HttpClient, public http: HttpClient,
private logger: Logger, private logger: Logger,
private language: LanguageProvider, private language: LanguageProvider,
private config: ConfigProvider, public config: ConfigProvider,
private persistence: PersistenceProvider, private persistence: PersistenceProvider,
) { ) {
this.logger.info('AppProvider initialized.'); this.logger.info('AppProvider initialized.');
@ -78,8 +78,8 @@ export class AppProvider {
private getInfo() { private getInfo() {
return this.http.get(this.jsonPathApp); return this.http.get(this.jsonPathApp);
} }
private getServicesInfo() { private getServicesInfo() {
return this.http.get(this.jsonPathServices); return this.http.get(this.jsonPathServices);
} }
} }

View File

@ -10,7 +10,7 @@ import {
} from '@ngx-translate/core'; } from '@ngx-translate/core';
import { Platform } from 'ionic-angular'; import { Platform } from 'ionic-angular';
fdescribe('LoggerProvider', () => { describe('LoggerProvider', () => {
let injector: TestBed; let injector: TestBed;
let service: Logger; let service: Logger;
let httpMock: HttpTestingController; let httpMock: HttpTestingController;
@ -29,6 +29,7 @@ fdescribe('LoggerProvider', () => {
Platform Platform
] ]
}); });
injector = getTestBed(); injector = getTestBed();
service = injector.get(Logger); service = injector.get(Logger);
httpMock = injector.get(HttpTestingController); httpMock = injector.get(HttpTestingController);
@ -99,7 +100,6 @@ fdescribe('LoggerProvider', () => {
service.info("Don't forget a towel"); service.info("Don't forget a towel");
filteredLogs = service.get(3); filteredLogs = service.get(3);
expect(filteredLogs.length).toBe(3); expect(filteredLogs.length).toBe(3);
console.log(filteredLogs);
service.error('Planet not found'); service.error('Planet not found');
filteredLogs = service.get(1); filteredLogs = service.get(1);

View File

@ -13,6 +13,7 @@ export class PlatformProvider {
public isMobile: boolean; public isMobile: boolean;
public isDevel: boolean; public isDevel: boolean;
constructor( constructor(
private platform: Platform, private platform: Platform,
private logger: Logger private logger: Logger

View File

@ -11,7 +11,7 @@
"module": "es2015", "module": "es2015",
"moduleResolution": "node", "moduleResolution": "node",
"sourceMap": true, "sourceMap": true,
"target": "es5" "target": "es6"
}, },
"include": [ "include": [
"src/**/*.ts" "src/**/*.ts"