test(angular): add test for providers (#17041)

This commit is contained in:
Manu MA
2019-01-10 17:29:22 +01:00
committed by GitHub
parent 27a4709195
commit 509edbc53c
7 changed files with 128 additions and 2 deletions

View File

@@ -0,0 +1,26 @@
import { browser, element, by } from 'protractor';
import { handleErrorMessages, waitTime } from './utils';
describe('providers', () => {
afterEach(() => {
handleErrorMessages();
});
it('should load all providers', async () => {
await browser.get('/providers');
expect(await element(by.css('#is-loaded')).getText()).toEqual('true');
expect(await element(by.css('#is-ready')).getText()).toEqual('true');
expect(await element(by.css('#is-testing')).getText()).toEqual('false');
expect(await element(by.css('#is-desktop')).getText()).toEqual('true');
expect(await element(by.css('#is-mobile')).getText()).toEqual('false');
expect(await element(by.css('#keyboard-height')).getText()).toEqual('12345');
});
it('should detect testing mode', async () => {
await browser.get('/providers?ionic:_testing=true');
expect(await element(by.css('#is-testing')).getText()).toEqual('true');
});
});

View File

@@ -1,5 +1,5 @@
import { browser, element, by } from 'protractor';
import { getProperty, setProperty, handleErrorMessages } from './utils';
import { handleErrorMessages } from './utils';
describe('view-child', () => {

View File

@@ -15,12 +15,14 @@ import { NestedOutletComponent } from './nested-outlet/nested-outlet.component';
import { NestedOutletPageComponent } from './nested-outlet-page/nested-outlet-page.component';
import { NestedOutletPage2Component } from './nested-outlet-page2/nested-outlet-page2.component';
import { ViewChildComponent } from './view-child/view-child.component';
import { ProvidersComponent } from './providers/providers.component';
const routes: Routes = [
{ path: '', component: HomePageComponent },
{ path: 'inputs', component: InputsComponent },
{ path: 'modals', component: ModalComponent },
{ path: 'view-child', component: ViewChildComponent },
{ path: 'providers', component: ProvidersComponent },
{ path: 'router-link', component: RouterLinkComponent },
{ path: 'router-link-page', component: RouterLinkPageComponent },
{ path: 'virtual-scroll', component: VirtualScrollComponent },

View File

@@ -23,6 +23,7 @@ import { NestedOutletPageComponent } from './nested-outlet-page/nested-outlet-pa
import { NestedOutletPage2Component } from './nested-outlet-page2/nested-outlet-page2.component';
import { NavComponent } from './nav/nav.component';
import { ViewChildComponent } from './view-child/view-child.component';
import { ProvidersComponent } from './providers/providers.component';
@NgModule({
declarations: [
@@ -44,7 +45,8 @@ import { ViewChildComponent } from './view-child/view-child.component';
NestedOutletPageComponent,
NestedOutletPage2Component,
NavComponent,
ViewChildComponent
ViewChildComponent,
ProvidersComponent
],
imports: [
BrowserModule,

View File

@@ -42,5 +42,10 @@
ViewChild()
</ion-label>
</ion-item>
<ion-item routerLink="/providers">
<ion-label>
Providers
</ion-label>
</ion-item>
</ion-list>
</ion-content>

View File

@@ -0,0 +1,27 @@
<ion-header>
<ion-toolbar>
<ion-title>
Providers Test
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<p>
isLoaded: <span id="is-loaded">{{isLoaded}}</span>
</p>
<p>
isReady: <span id="is-ready">{{isReady}}</span>
</p>
<p>
isTesting: <span id="is-testing">{{isTesting}}</span>
</p>
<p>
isDesktop: <span id="is-desktop">{{isDesktop}}</span>
</p>
<p>
isMobile: <span id="is-mobile">{{isMobile}}</span>
</p>
<p>
keyboardHeight: <span id="keyboard-height">{{keyboardHeight}}</span>
</p>
</ion-content>

View File

@@ -0,0 +1,64 @@
import { Component } from '@angular/core';
import {
Platform, Config, ModalController, AlertController, ActionSheetController,
PopoverController, ToastController, Events, PickerController, MenuController,
LoadingController, NavController, DomController
} from '@ionic/angular';
@Component({
selector: 'app-providers',
templateUrl: './providers.component.html',
})
export class ProvidersComponent {
isLoaded = false;
isReady = false;
isEvent = false;
isTesting: boolean = undefined;
isDesktop: boolean = undefined;
isMobile: boolean = undefined;
keyboardHeight = 0;
constructor(
actionSheetCtrl: ActionSheetController,
alertCtrl: AlertController,
events: Events,
loadingCtrl: LoadingController,
menuCtrl: MenuController,
pickerCtrl: PickerController,
modalCtrl: ModalController,
platform: Platform,
popoverCtrl: PopoverController,
toastCtrl: ToastController,
navCtrl: NavController,
domCtrl: DomController,
config: Config
) {
// test all providers load
if (
actionSheetCtrl && alertCtrl && events && loadingCtrl && menuCtrl && pickerCtrl &&
modalCtrl && platform && popoverCtrl && toastCtrl && navCtrl && domCtrl && config
) {
this.isLoaded = true;
}
// test platform ready()
platform.ready().then(() => {
this.isReady = true;
});
this.isDesktop = platform.is('desktop');
this.isMobile = platform.is('mobile');
// test events
events.subscribe('topic', () => {
this.isEvent = true;
});
events.publish('topic');
// test config
this.isTesting = config.getBoolean('_testing');
config.set('keyboardHeight', 12345);
this.keyboardHeight = config.getNumber('keyboardHeight');
}
}