UNPKG

copay-crown

Version:

A Secure Crown Wallet

81 lines (73 loc) 3.38 kB
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'; import { AppProvider } from './app'; import { NgLoggerModule, Level } from '@nsalaun/ng-logger'; import { Logger } from '../../providers/logger/logger'; import { TranslateModule, TranslateService, TranslateLoader, TranslateFakeLoader } from '@ngx-translate/core'; import { LanguageProvider } from '../../providers/language/language'; import { ConfigProvider } from '../../providers/config/config'; import { PersistenceProvider } from '../../providers/persistence/persistence'; import { PlatformProvider } from '../platform/platform'; 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: [ HttpClientTestingModule, NgLoggerModule.forRoot(Level.LOG), TranslateModule.forRoot({ loader: { provide: TranslateLoader, useClass: TranslateFakeLoader } }) ], providers: [ AppProvider, Logger, LanguageProvider, ConfigProvider, PersistenceProvider, PlatformProvider, Platform, File, {provide: XHRBackend, useClass: MockBackend} ] }); 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(); }); }); });