1- import { browser , element , by , protractor } from 'protractor' ;
1+ import { browser , element , by , Key } from 'protractor' ;
2+ import { E2EUtils } from '../../utils.e2e' ;
23
34describe ( 'slide-toggle' , ( ) => {
5+ const utils = new E2EUtils ( ) ;
6+ const getInput = ( ) => element ( by . css ( '#normal-slide-toggle input' ) ) ;
7+ const getNormalToggle = ( ) => element ( by . css ( '#normal-slide-toggle' ) ) ;
48
59 beforeEach ( ( ) => browser . get ( 'slide-toggle' ) ) ;
610
711 it ( 'should render a slide-toggle' , ( ) => {
8- expect ( element ( by . css ( 'md-slide-toggle' ) ) . isPresent ( ) ) . toBe ( true ) ;
12+ utils . expectToExist ( 'md-slide-toggle' ) ;
913 } ) ;
1014
1115 it ( 'should change the checked state on click' , ( ) => {
12- let slideToggleEl = element ( by . css ( '#normal-slide-toggle' ) ) ;
13- let inputEl = element ( by . css ( '#normal-slide-toggle input' ) ) ;
16+ let inputEl = getInput ( ) ;
1417
1518 expect ( inputEl . getAttribute ( 'checked' ) ) . toBeFalsy ( 'Expect slide-toggle to be unchecked' ) ;
1619
17- slideToggleEl . click ( ) ;
20+ getNormalToggle ( ) . click ( ) ;
1821
1922 expect ( inputEl . getAttribute ( 'checked' ) ) . toBeTruthy ( 'Expect slide-toggle to be checked' ) ;
2023 } ) ;
2124
2225 it ( 'should change the checked state on click' , ( ) => {
23- let slideToggleEl = element ( by . css ( '#normal-slide-toggle' ) ) ;
24- let inputEl = element ( by . css ( '#normal-slide-toggle input' ) ) ;
26+ let inputEl = getInput ( ) ;
2527
2628 expect ( inputEl . getAttribute ( 'checked' ) ) . toBeFalsy ( 'Expect slide-toggle to be unchecked' ) ;
2729
28- slideToggleEl . click ( ) ;
30+ getNormalToggle ( ) . click ( ) ;
2931
3032 expect ( inputEl . getAttribute ( 'checked' ) ) . toBeTruthy ( 'Expect slide-toggle to be checked' ) ;
3133 } ) ;
3234
3335 it ( 'should not change the checked state on click when disabled' , ( ) => {
34- let slideToggleEl = element ( by . css ( '#disabled-slide-toggle' ) ) ;
35- let inputEl = element ( by . css ( '#disabled-slide-toggle input' ) ) ;
36+ let inputEl = getInput ( ) ;
3637
3738 expect ( inputEl . getAttribute ( 'checked' ) ) . toBeFalsy ( 'Expect slide-toggle to be unchecked' ) ;
3839
39- slideToggleEl . click ( ) ;
40+ element ( by . css ( '#disabled-slide-toggle' ) ) . click ( ) ;
4041
4142 expect ( inputEl . getAttribute ( 'checked' ) ) . toBeFalsy ( 'Expect slide-toggle to be unchecked' ) ;
4243 } ) ;
4344
4445 it ( 'should move the thumb on state change' , ( ) => {
45- let slideToggleEl = element ( by . css ( '#normal-slide-toggle' ) ) ;
46+ let slideToggleEl = getNormalToggle ( ) ;
4647 let thumbEl = element ( by . css ( '#normal-slide-toggle .md-slide-toggle-thumb-container' ) ) ;
4748
4849 let previousX = thumbEl . getLocation ( ) . then ( pos => pos . x ) ;
@@ -55,11 +56,11 @@ describe('slide-toggle', () => {
5556 } ) ;
5657
5758 it ( 'should toggle the slide-toggle on space key' , ( ) => {
58- let inputEl = element ( by . css ( '#normal-slide-toggle input' ) ) ;
59+ let inputEl = getInput ( ) ;
5960
6061 expect ( inputEl . getAttribute ( 'checked' ) ) . toBeFalsy ( 'Expect slide-toggle to be unchecked' ) ;
6162
62- inputEl . sendKeys ( protractor . Key . SPACE ) ;
63+ inputEl . sendKeys ( Key . SPACE ) ;
6364
6465 expect ( inputEl . getAttribute ( 'checked' ) ) . toBeTruthy ( 'Expect slide-toggle to be checked' ) ;
6566 } ) ;
0 commit comments