@@ -22,39 +22,57 @@ describe('ImageLoader Lib E2E Tests', function () {
2222 beforeEach ( ( ) => page . setWindowSize ( 300 , 580 ) ) ;
2323
2424 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' ) ;
2626 } ) ;
2727
2828 it ( 'should update placeholder loaded boolean on init' , ( ) => {
29- expect ( page . getplaceholderBooleanElement ( ) . getText ( ) ) . toEqual ( 'true' ) ;
29+ expect ( page . getBottomPlaceholderBooleanElement ( ) . getText ( ) ) . toEqual ( 'true' ) ;
3030 } ) ;
3131 } ) ;
3232
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+
3351 describe ( 'lazy load image' , ( ) => {
3452 beforeEach ( ( ) => page . setWindowSize ( 300 , 580 ) ) ;
3553
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' ) ;
3957 expect ( imageLoaderCompClass ) . toContain ( 'sn-image-not-loaded' ) ;
4058 expect ( imgSrc ) . toEqual ( 'http://via.placeholder.com/35x15?text=placeholder' ) ;
4159
42- page . scrollTo ( 0 , 580 * 1.5 ) ;
43- browser . wait ( ( ) => page . getLoadedImageElement ( ) ) ;
60+ page . scrollTo ( 0 , 580 * 2 ) ;
61+ browser . wait ( ( ) => page . getLoadedImageBottomElement ( ) ) ;
4462
45- imageLoaderCompClass = page . getImageLoaderComp ( ) . getAttribute ( 'class' ) ;
46- imgSrc = page . getImageElement ( ) . getAttribute ( 'srcset' ) ;
63+ imageLoaderCompClass = page . getImageBottomLoaderComp ( ) . getAttribute ( 'class' ) ;
64+ imgSrc = page . getImageBottomElement ( ) . getAttribute ( 'srcset' ) ;
4765 expect ( imageLoaderCompClass ) . toContain ( 'sn-image-loaded' ) ;
4866 expect ( imgSrc ) . toEqual ( 'http://via.placeholder.com/150x350?text=xs+1x 1x, http://via.placeholder.com/300x700?text=xs+2x 2x' ) ;
4967
5068 } ) ;
5169
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' ) ;
5472
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' ) ;
5876 } ) ;
5977
6078 } ) ;
@@ -63,49 +81,49 @@ describe('ImageLoader Lib E2E Tests', function () {
6381
6482 it ( 'should load correct image for "xs" device size' , ( ) => {
6583 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' ) ;
7088 expect ( imageLoaderCompClass ) . toContain ( 'sn-image-loaded' ) ;
7189 expect ( imgSrc ) . toEqual ( 'http://via.placeholder.com/150x350?text=xs+1x 1x, http://via.placeholder.com/300x700?text=xs+2x 2x' ) ;
7290 } ) ;
7391
7492 it ( 'should load correct image for "md" device size' , ( ) => {
7593 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 ( ) ) ;
7896
79- const imgSrc = page . getImageElement ( ) . getAttribute ( 'srcset' ) ;
97+ const imgSrc = page . getImageBottomElement ( ) . getAttribute ( 'srcset' ) ;
8098 expect ( imgSrc ) . toEqual ( 'http://via.placeholder.com/350x250?text=md+1x 1x, http://via.placeholder.com/700x500?text=md+2x 2x' ) ;
8199 } ) ;
82100
83101 it ( 'should load correct image for "lg" device size' , ( ) => {
84102 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 ( ) ) ;
87105
88- const imgSrc = page . getImageElement ( ) . getAttribute ( 'srcset' ) ;
106+ const imgSrc = page . getImageBottomElement ( ) . getAttribute ( 'srcset' ) ;
89107 expect ( imgSrc ) . toEqual ( 'http://via.placeholder.com/700x400?text=lg+1x 1x, http://via.placeholder.com/1400x800?text=lg+2x 2x' ) ;
90108 } ) ;
91109
92110 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' ) ;
94112
95113 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' ) ;
99117
100118 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' ) ;
104122
105123 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' ) ;
109127 } ) ;
110128
111129 } ) ;
0 commit comments