1
- import { browser , element , by , protractor } from 'protractor' ;
1
+ import { browser , element , by , Key } from 'protractor' ;
2
+ import { E2EUtils } from '../../utils.e2e' ;
2
3
3
4
describe ( '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' ) ) ;
4
8
5
9
beforeEach ( ( ) => browser . get ( 'slide-toggle' ) ) ;
6
10
7
11
it ( 'should render a slide-toggle' , ( ) => {
8
- expect ( element ( by . css ( 'md-slide-toggle' ) ) . isPresent ( ) ) . toBe ( true ) ;
12
+ utils . expectToExist ( 'md-slide-toggle' ) ;
9
13
} ) ;
10
14
11
15
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 ( ) ;
14
17
15
18
expect ( inputEl . getAttribute ( 'checked' ) ) . toBeFalsy ( 'Expect slide-toggle to be unchecked' ) ;
16
19
17
- slideToggleEl . click ( ) ;
20
+ getNormalToggle ( ) . click ( ) ;
18
21
19
22
expect ( inputEl . getAttribute ( 'checked' ) ) . toBeTruthy ( 'Expect slide-toggle to be checked' ) ;
20
23
} ) ;
21
24
22
25
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 ( ) ;
25
27
26
28
expect ( inputEl . getAttribute ( 'checked' ) ) . toBeFalsy ( 'Expect slide-toggle to be unchecked' ) ;
27
29
28
- slideToggleEl . click ( ) ;
30
+ getNormalToggle ( ) . click ( ) ;
29
31
30
32
expect ( inputEl . getAttribute ( 'checked' ) ) . toBeTruthy ( 'Expect slide-toggle to be checked' ) ;
31
33
} ) ;
32
34
33
35
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 ( ) ;
36
37
37
38
expect ( inputEl . getAttribute ( 'checked' ) ) . toBeFalsy ( 'Expect slide-toggle to be unchecked' ) ;
38
39
39
- slideToggleEl . click ( ) ;
40
+ element ( by . css ( '#disabled-slide-toggle' ) ) . click ( ) ;
40
41
41
42
expect ( inputEl . getAttribute ( 'checked' ) ) . toBeFalsy ( 'Expect slide-toggle to be unchecked' ) ;
42
43
} ) ;
43
44
44
45
it ( 'should move the thumb on state change' , ( ) => {
45
- let slideToggleEl = element ( by . css ( '#normal-slide-toggle' ) ) ;
46
+ let slideToggleEl = getNormalToggle ( ) ;
46
47
let thumbEl = element ( by . css ( '#normal-slide-toggle .md-slide-toggle-thumb-container' ) ) ;
47
48
48
49
let previousX = thumbEl . getLocation ( ) . then ( pos => pos . x ) ;
@@ -55,11 +56,11 @@ describe('slide-toggle', () => {
55
56
} ) ;
56
57
57
58
it ( 'should toggle the slide-toggle on space key' , ( ) => {
58
- let inputEl = element ( by . css ( '#normal-slide-toggle input' ) ) ;
59
+ let inputEl = getInput ( ) ;
59
60
60
61
expect ( inputEl . getAttribute ( 'checked' ) ) . toBeFalsy ( 'Expect slide-toggle to be unchecked' ) ;
61
62
62
- inputEl . sendKeys ( protractor . Key . SPACE ) ;
63
+ inputEl . sendKeys ( Key . SPACE ) ;
63
64
64
65
expect ( inputEl . getAttribute ( 'checked' ) ) . toBeTruthy ( 'Expect slide-toggle to be checked' ) ;
65
66
} ) ;
0 commit comments