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 { XHRBackend, Response, ResponseOptions } from '@angular/http';
import { MockBackend, MockConnection } from '@angular/http/testing';
@ -19,6 +19,14 @@ import { Platform } from 'ionic-angular';
import { File } from '@ionic-native/file';
describe('AppProvider', () => {
let injector: TestBed;
let service: AppProvider;
let httpMock: HttpTestingController;
let urls = [
'assets/appConfig.json',
'assets/externalServices.json'
];
beforeEach(() => {
TestBed.configureTestingModule({
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,
private logger: Logger,
private language: LanguageProvider,
private config: ConfigProvider,
public config: ConfigProvider,
private persistence: PersistenceProvider,
) {
this.logger.info('AppProvider initialized.');
@ -78,8 +78,8 @@ export class AppProvider {
private getInfo() {
return this.http.get(this.jsonPathApp);
}
private getServicesInfo() {
return this.http.get(this.jsonPathServices);
}
}

View File

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

View File

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

View File

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