@@ -22,39 +22,57 @@ describe('ImageLoader Lib E2E Tests', function () {
22
22
beforeEach ( ( ) => page . setWindowSize ( 300 , 580 ) ) ;
23
23
24
24
it ( 'should load placeholder image' , ( ) => {
25
- expect ( page . getImageElement ( ) . getAttribute ( 'src' ) ) . toEqual ( 'http://via.placeholder.com/35x15?text=placeholder' ) ;
25
+ expect ( page . getImageBottomElement ( ) . getAttribute ( 'src' ) ) . toEqual ( 'http://via.placeholder.com/35x15?text=placeholder' ) ;
26
26
} ) ;
27
27
28
28
it ( 'should update placeholder loaded boolean on init' , ( ) => {
29
- expect ( page . getplaceholderBooleanElement ( ) . getText ( ) ) . toEqual ( 'true' ) ;
29
+ expect ( page . getBottomPlaceholderBooleanElement ( ) . getText ( ) ) . toEqual ( 'true' ) ;
30
30
} ) ;
31
31
} ) ;
32
32
33
+ describe ( 'inviewport image on load' , ( ) => {
34
+ beforeEach ( ( ) => page . setWindowSize ( 300 , 580 ) ) ;
35
+
36
+ it ( 'should load full res image if image is in viewport on page load' , ( ) => {
37
+
38
+ page . setWindowSize ( 300 , 580 ) ;
39
+ browser . wait ( ( ) => page . getLoadedImageTopElement ( ) ) ;
40
+
41
+ const imageLoaderCompClass = page . getImageTopLoaderComp ( ) . getAttribute ( 'class' ) ;
42
+ const imgSrc = page . getImageTopElement ( ) . getAttribute ( 'srcset' ) ;
43
+ expect ( imageLoaderCompClass ) . toContain ( 'sn-image-loaded' ) ;
44
+ expect ( imgSrc ) . toEqual ( 'http://via.placeholder.com/150x350?text=xs+1x 1x, http://via.placeholder.com/300x700?text=xs+2x 2x' ) ;
45
+
46
+
47
+ } ) ;
48
+
49
+ } ) ;
50
+
33
51
describe ( 'lazy load image' , ( ) => {
34
52
beforeEach ( ( ) => page . setWindowSize ( 300 , 580 ) ) ;
35
53
36
- it ( 'should load image on when in viewport' , ( ) => {
37
- let imageLoaderCompClass = page . getImageLoaderComp ( ) . getAttribute ( 'class' ) ;
38
- let imgSrc = page . getImageElement ( ) . getAttribute ( 'src' ) ;
54
+ it ( 'should load image when scrolled into viewport' , ( ) => {
55
+ let imageLoaderCompClass = page . getImageBottomLoaderComp ( ) . getAttribute ( 'class' ) ;
56
+ let imgSrc = page . getImageBottomElement ( ) . getAttribute ( 'src' ) ;
39
57
expect ( imageLoaderCompClass ) . toContain ( 'sn-image-not-loaded' ) ;
40
58
expect ( imgSrc ) . toEqual ( 'http://via.placeholder.com/35x15?text=placeholder' ) ;
41
59
42
- page . scrollTo ( 0 , 580 * 1.5 ) ;
43
- browser . wait ( ( ) => page . getLoadedImageElement ( ) ) ;
60
+ page . scrollTo ( 0 , 580 * 2 ) ;
61
+ browser . wait ( ( ) => page . getLoadedImageBottomElement ( ) ) ;
44
62
45
- imageLoaderCompClass = page . getImageLoaderComp ( ) . getAttribute ( 'class' ) ;
46
- imgSrc = page . getImageElement ( ) . getAttribute ( 'srcset' ) ;
63
+ imageLoaderCompClass = page . getImageBottomLoaderComp ( ) . getAttribute ( 'class' ) ;
64
+ imgSrc = page . getImageBottomElement ( ) . getAttribute ( 'srcset' ) ;
47
65
expect ( imageLoaderCompClass ) . toContain ( 'sn-image-loaded' ) ;
48
66
expect ( imgSrc ) . toEqual ( 'http://via.placeholder.com/150x350?text=xs+1x 1x, http://via.placeholder.com/300x700?text=xs+2x 2x' ) ;
49
67
50
68
} ) ;
51
69
52
- it ( 'should update full res image event count on when in viewport' , ( ) => {
53
- expect ( page . getFullResCountElement ( ) . getText ( ) ) . toEqual ( '0' ) ;
70
+ it ( 'should update full res image event count scroll into viewport' , ( ) => {
71
+ expect ( page . getBottomFullResCountElement ( ) . getText ( ) ) . toEqual ( '0' ) ;
54
72
55
- page . scrollTo ( 0 , 580 * 1.5 ) ;
56
- browser . wait ( ( ) => page . getLoadedImageElement ( ) ) ;
57
- expect ( page . getFullResCountElement ( ) . getText ( ) ) . toEqual ( '1' ) ;
73
+ page . scrollTo ( 0 , 580 * 2 ) ;
74
+ browser . wait ( ( ) => page . getLoadedImageBottomElement ( ) ) ;
75
+ expect ( page . getBottomFullResCountElement ( ) . getText ( ) ) . toEqual ( '1' ) ;
58
76
} ) ;
59
77
60
78
} ) ;
@@ -63,49 +81,49 @@ describe('ImageLoader Lib E2E Tests', function () {
63
81
64
82
it ( 'should load correct image for "xs" device size' , ( ) => {
65
83
page . setWindowSize ( 300 , 580 ) ;
66
- page . scrollTo ( 0 , 580 * 1.5 ) ;
67
- browser . wait ( ( ) => page . getLoadedImageElement ( ) ) ;
68
- const imageLoaderCompClass = page . getImageLoaderComp ( ) . getAttribute ( 'class' ) ;
69
- const imgSrc = page . getImageElement ( ) . getAttribute ( 'srcset' ) ;
84
+ page . scrollTo ( 0 , 580 * 2 ) ;
85
+ browser . wait ( ( ) => page . getLoadedImageBottomElement ( ) ) ;
86
+ const imageLoaderCompClass = page . getImageBottomLoaderComp ( ) . getAttribute ( 'class' ) ;
87
+ const imgSrc = page . getImageBottomElement ( ) . getAttribute ( 'srcset' ) ;
70
88
expect ( imageLoaderCompClass ) . toContain ( 'sn-image-loaded' ) ;
71
89
expect ( imgSrc ) . toEqual ( 'http://via.placeholder.com/150x350?text=xs+1x 1x, http://via.placeholder.com/300x700?text=xs+2x 2x' ) ;
72
90
} ) ;
73
91
74
92
it ( 'should load correct image for "md" device size' , ( ) => {
75
93
page . setWindowSize ( 768 , 580 ) ;
76
- page . scrollTo ( 0 , 580 * 1 .5) ;
77
- browser . wait ( ( ) => page . getLoadedImageElement ( ) ) ;
94
+ page . scrollTo ( 0 , 580 * 2 .5) ;
95
+ browser . wait ( ( ) => page . getLoadedImageBottomElement ( ) ) ;
78
96
79
- const imgSrc = page . getImageElement ( ) . getAttribute ( 'srcset' ) ;
97
+ const imgSrc = page . getImageBottomElement ( ) . getAttribute ( 'srcset' ) ;
80
98
expect ( imgSrc ) . toEqual ( 'http://via.placeholder.com/350x250?text=md+1x 1x, http://via.placeholder.com/700x500?text=md+2x 2x' ) ;
81
99
} ) ;
82
100
83
101
it ( 'should load correct image for "lg" device size' , ( ) => {
84
102
page . setWindowSize ( 1024 , 580 ) ;
85
- page . scrollTo ( 0 , 580 * 1.5 ) ;
86
- browser . wait ( ( ) => page . getLoadedImageElement ( ) ) ;
103
+ page . scrollTo ( 0 , 580 * 2 ) ;
104
+ browser . wait ( ( ) => page . getLoadedImageBottomElement ( ) ) ;
87
105
88
- const imgSrc = page . getImageElement ( ) . getAttribute ( 'srcset' ) ;
106
+ const imgSrc = page . getImageBottomElement ( ) . getAttribute ( 'srcset' ) ;
89
107
expect ( imgSrc ) . toEqual ( 'http://via.placeholder.com/700x400?text=lg+1x 1x, http://via.placeholder.com/1400x800?text=lg+2x 2x' ) ;
90
108
} ) ;
91
109
92
110
it ( 'should update image loaded event count on window resize when image in viewport' , ( ) => {
93
- expect ( page . getFullResCountElement ( ) . getText ( ) ) . toEqual ( '0' ) ;
111
+ expect ( page . getBottomFullResCountElement ( ) . getText ( ) ) . toEqual ( '0' ) ;
94
112
95
113
page . setWindowSize ( 320 , 580 ) ;
96
- page . scrollTo ( 0 , 580 * 1.5 ) ;
97
- browser . wait ( ( ) => page . getLoadedImageElement ( ) ) ;
98
- expect ( page . getFullResCountElement ( ) . getText ( ) ) . toEqual ( '1' ) ;
114
+ page . scrollTo ( 0 , 580 * 3 ) ;
115
+ browser . wait ( ( ) => page . getLoadedImageBottomElement ( ) ) ;
116
+ expect ( page . getBottomFullResCountElement ( ) . getText ( ) ) . toEqual ( '1' ) ;
99
117
100
118
page . setWindowSize ( 768 , 580 ) ;
101
- page . scrollTo ( 0 , 580 * 1.5 ) ;
102
- browser . wait ( ( ) => page . getLoadedImageElement ( ) ) ;
103
- expect ( page . getFullResCountElement ( ) . getText ( ) ) . toEqual ( '2' ) ;
119
+ page . scrollTo ( 0 , 580 * 3 ) ;
120
+ browser . wait ( ( ) => page . getLoadedImageBottomElement ( ) ) ;
121
+ expect ( page . getBottomFullResCountElement ( ) . getText ( ) ) . toEqual ( '2' ) ;
104
122
105
123
page . setWindowSize ( 1024 , 580 ) ;
106
- page . scrollTo ( 0 , 580 * 1.5 ) ;
107
- browser . wait ( ( ) => page . getLoadedImageElement ( ) ) ;
108
- expect ( page . getFullResCountElement ( ) . getText ( ) ) . toEqual ( '3' ) ;
124
+ page . scrollTo ( 0 , 580 * 3 ) ;
125
+ browser . wait ( ( ) => page . getLoadedImageBottomElement ( ) ) ;
126
+ expect ( page . getBottomFullResCountElement ( ) . getText ( ) ) . toEqual ( '3' ) ;
109
127
} ) ;
110
128
111
129
} ) ;
0 commit comments