Skip to content

Commit 5e961cb

Browse files
robindijkhofjelbourn
authored andcommitted
test(sidenav): add e2e tests (angular#5463)
1 parent 46d0b6f commit 5e961cb

File tree

6 files changed

+55
-3
lines changed

6 files changed

+55
-3
lines changed

e2e/components/sidenav-e2e.spec.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import {browser, by, element, ExpectedConditions} from 'protractor';
2+
const EC = ExpectedConditions;
3+
4+
describe('sidenav', () => {
5+
describe('opening and closing', () => {
6+
beforeEach(() => browser.get('/sidenav'));
7+
8+
let input = element(by.tagName('md-sidenav'));
9+
10+
11+
it('should be closed', () => {
12+
expect(input.isDisplayed()).toBeFalsy();
13+
});
14+
15+
it('should open', () => {
16+
element(by.buttonText('Open sidenav')).click();
17+
expect(input.isDisplayed()).toBeTruthy();
18+
});
19+
20+
it('should close again', () => {
21+
element(by.buttonText('Open sidenav')).click();
22+
element(by.buttonText('Open sidenav')).click();
23+
browser.wait(EC.presenceOf(element(by.className('mat-sidenav-closed'))), 1000);
24+
expect(input.isDisplayed()).toBeFalsy();
25+
});
26+
});
27+
});

src/e2e-app/e2e-app-module.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ import {FullscreenE2E, TestDialog as TestDialogFullScreen} from './fullscreen/fu
1818
import {E2E_APP_ROUTES} from './e2e-app/routes';
1919
import {SlideToggleE2E} from './slide-toggle/slide-toggle-e2e';
2020
import {InputE2E} from './input/input-e2e';
21+
import {SidenavE2E} from './sidenav/sidenav-e2e';
2122
import {BlockScrollStrategyE2E} from './block-scroll-strategy/block-scroll-strategy-e2e';
2223
import {
2324
OverlayContainer, FullscreenOverlayContainer, MdGridListModule, MdProgressBarModule,
2425
MdProgressSpinnerModule, MdTabsModule, MdRadioModule, MdSlideToggleModule, MdMenuModule,
25-
MdListModule, MdInputModule, MdIconModule, MdDialogModule, MdCheckboxModule, MdButtonModule
26+
MdListModule, MdInputModule, MdIconModule, MdDialogModule, MdCheckboxModule, MdButtonModule,
27+
MdSidenavModule
2628
} from '@angular/material';
2729

2830
/**
@@ -38,10 +40,11 @@ import {
3840
MdInputModule,
3941
MdListModule,
4042
MdMenuModule,
41-
MdSlideToggleModule,
42-
MdRadioModule,
4343
MdProgressBarModule,
4444
MdProgressSpinnerModule,
45+
MdRadioModule,
46+
MdSidenavModule,
47+
MdSlideToggleModule,
4548
MdTabsModule
4649
]
4750
})
@@ -68,6 +71,7 @@ export class E2eMaterialModule {}
6871
MenuE2E,
6972
ProgressBarE2E,
7073
ProgressSpinnerE2E,
74+
SidenavE2E,
7175
SimpleCheckboxes,
7276
SimpleRadioButtons,
7377
SlideToggleE2E,

src/e2e-app/e2e-app/e2e-app.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<a md-list-item [routerLink]="['progress-bar']">Progress bar</a>
1515
<a md-list-item [routerLink]="['progress-spinner']">Progress Spinner</a>
1616
<a md-list-item [routerLink]="['radio']">Radios</a>
17+
<a md-list-item [routerLink]="['sidenav']">Sidenav</a>
1718
<a md-list-item [routerLink]="['slide-toggle']">Slide Toggle</a>
1819
<a md-list-item [routerLink]="['tabs']">Tabs</a>
1920
</md-nav-list>

src/e2e-app/e2e-app/routes.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {ProgressSpinnerE2E} from '../progress-spinner/progress-spinner-e2e';
1414
import {SlideToggleE2E} from '../slide-toggle/slide-toggle-e2e';
1515
import {FullscreenE2E} from '../fullscreen/fullscreen-e2e';
1616
import {InputE2E} from '../input/input-e2e';
17+
import {SidenavE2E} from '../sidenav/sidenav-e2e';
1718
import {BlockScrollStrategyE2E} from '../block-scroll-strategy/block-scroll-strategy-e2e';
1819

1920
export const E2E_APP_ROUTES: Routes = [
@@ -31,6 +32,7 @@ export const E2E_APP_ROUTES: Routes = [
3132
{path: 'progress-bar', component: ProgressBarE2E},
3233
{path: 'progress-spinner', component: ProgressSpinnerE2E},
3334
{path: 'radio', component: SimpleRadioButtons},
35+
{path: 'sidenav', component: SidenavE2E},
3436
{path: 'slide-toggle', component: SlideToggleE2E},
3537
{path: 'tabs', component: BasicTabs},
3638
];

src/e2e-app/sidenav/sidenav-e2e.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<section>
2+
<md-sidenav-container>
3+
<md-sidenav #sidenav mode="side">Drawer content</md-sidenav>
4+
<button type="button" (click)="sidenav.toggle()">
5+
Open sidenav
6+
</button>
7+
</md-sidenav-container>
8+
</section>

src/e2e-app/sidenav/sidenav-e2e.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import {Component} from '@angular/core';
2+
3+
4+
@Component({
5+
moduleId: module.id,
6+
selector: 'sidenav-e2e',
7+
templateUrl: 'sidenav-e2e.html',
8+
})
9+
export class SidenavE2E {
10+
}

0 commit comments

Comments
 (0)