diff --git a/e2e/components/sidenav-e2e.spec.ts b/e2e/components/sidenav-e2e.spec.ts new file mode 100644 index 000000000000..999c53a54985 --- /dev/null +++ b/e2e/components/sidenav-e2e.spec.ts @@ -0,0 +1,27 @@ +import {browser, by, element, ExpectedConditions} from 'protractor'; +const EC = ExpectedConditions; + +describe('sidenav', () => { + describe('opening and closing', () => { + beforeEach(() => browser.get('/sidenav')); + + let input = element(by.tagName('md-sidenav')); + + + it('should be closed', () => { + expect(input.isDisplayed()).toBeFalsy(); + }); + + it('should open', () => { + element(by.buttonText('Open sidenav')).click(); + expect(input.isDisplayed()).toBeTruthy(); + }); + + it('should close again', () => { + element(by.buttonText('Open sidenav')).click(); + element(by.buttonText('Open sidenav')).click(); + browser.wait(EC.presenceOf(element(by.className('mat-sidenav-closed'))), 1000); + expect(input.isDisplayed()).toBeFalsy(); + }); + }); +}); diff --git a/src/e2e-app/e2e-app-module.ts b/src/e2e-app/e2e-app-module.ts index 30f9c3220dfb..1d16ac3c4f02 100644 --- a/src/e2e-app/e2e-app-module.ts +++ b/src/e2e-app/e2e-app-module.ts @@ -18,11 +18,13 @@ import {FullscreenE2E, TestDialog as TestDialogFullScreen} from './fullscreen/fu import {E2E_APP_ROUTES} from './e2e-app/routes'; import {SlideToggleE2E} from './slide-toggle/slide-toggle-e2e'; import {InputE2E} from './input/input-e2e'; +import {SidenavE2E} from './sidenav/sidenav-e2e'; import {BlockScrollStrategyE2E} from './block-scroll-strategy/block-scroll-strategy-e2e'; import { OverlayContainer, FullscreenOverlayContainer, MdGridListModule, MdProgressBarModule, MdProgressSpinnerModule, MdTabsModule, MdRadioModule, MdSlideToggleModule, MdMenuModule, - MdListModule, MdInputModule, MdIconModule, MdDialogModule, MdCheckboxModule, MdButtonModule + MdListModule, MdInputModule, MdIconModule, MdDialogModule, MdCheckboxModule, MdButtonModule, + MdSidenavModule } from '@angular/material'; /** @@ -38,10 +40,11 @@ import { MdInputModule, MdListModule, MdMenuModule, - MdSlideToggleModule, - MdRadioModule, MdProgressBarModule, MdProgressSpinnerModule, + MdRadioModule, + MdSidenavModule, + MdSlideToggleModule, MdTabsModule ] }) @@ -68,6 +71,7 @@ export class E2eMaterialModule {} MenuE2E, ProgressBarE2E, ProgressSpinnerE2E, + SidenavE2E, SimpleCheckboxes, SimpleRadioButtons, SlideToggleE2E, diff --git a/src/e2e-app/e2e-app/e2e-app.html b/src/e2e-app/e2e-app/e2e-app.html index d5357b1dba2a..ce04dbf80baa 100644 --- a/src/e2e-app/e2e-app/e2e-app.html +++ b/src/e2e-app/e2e-app/e2e-app.html @@ -14,6 +14,7 @@ Progress bar Progress Spinner Radios + Sidenav Slide Toggle Tabs diff --git a/src/e2e-app/e2e-app/routes.ts b/src/e2e-app/e2e-app/routes.ts index f2c986d8a924..47f638f43e42 100644 --- a/src/e2e-app/e2e-app/routes.ts +++ b/src/e2e-app/e2e-app/routes.ts @@ -14,6 +14,7 @@ import {ProgressSpinnerE2E} from '../progress-spinner/progress-spinner-e2e'; import {SlideToggleE2E} from '../slide-toggle/slide-toggle-e2e'; import {FullscreenE2E} from '../fullscreen/fullscreen-e2e'; import {InputE2E} from '../input/input-e2e'; +import {SidenavE2E} from '../sidenav/sidenav-e2e'; import {BlockScrollStrategyE2E} from '../block-scroll-strategy/block-scroll-strategy-e2e'; export const E2E_APP_ROUTES: Routes = [ @@ -31,6 +32,7 @@ export const E2E_APP_ROUTES: Routes = [ {path: 'progress-bar', component: ProgressBarE2E}, {path: 'progress-spinner', component: ProgressSpinnerE2E}, {path: 'radio', component: SimpleRadioButtons}, + {path: 'sidenav', component: SidenavE2E}, {path: 'slide-toggle', component: SlideToggleE2E}, {path: 'tabs', component: BasicTabs}, ]; diff --git a/src/e2e-app/sidenav/sidenav-e2e.html b/src/e2e-app/sidenav/sidenav-e2e.html new file mode 100644 index 000000000000..254ae42cfc0c --- /dev/null +++ b/src/e2e-app/sidenav/sidenav-e2e.html @@ -0,0 +1,8 @@ +
+ + Drawer content + + +
diff --git a/src/e2e-app/sidenav/sidenav-e2e.ts b/src/e2e-app/sidenav/sidenav-e2e.ts new file mode 100644 index 000000000000..97ea5d366593 --- /dev/null +++ b/src/e2e-app/sidenav/sidenav-e2e.ts @@ -0,0 +1,10 @@ +import {Component} from '@angular/core'; + + +@Component({ + moduleId: module.id, + selector: 'sidenav-e2e', + templateUrl: 'sidenav-e2e.html', +}) +export class SidenavE2E { +}