@@ -7,180 +7,176 @@ let page: Page;
77let WPVersion = 0 ;
88
99test . describe ( 'bulkoptimization' , ( ) => {
10- test . beforeAll ( async ( { browser } ) => {
11- page = await browser . newPage ( ) ;
12- WPVersion = await getWPVersion ( page ) ;
13- } ) ;
10+ test . beforeAll ( async ( { browser } ) => {
11+ page = await browser . newPage ( ) ;
12+ WPVersion = await getWPVersion ( page ) ;
13+ } ) ;
1414
15- test . beforeEach ( async ( ) => {
16- await clearMediaLibrary ( page ) ;
17- } ) ;
15+ test . beforeEach ( async ( ) => {
16+ await clearMediaLibrary ( page ) ;
17+ } ) ;
1818
19- test ( 'display upgrade button for account with insufficient credits' , async ( ) => {
20- await setAPIKey ( page , 'INSUFFICIENTCREDITS123' ) ;
21- await setCompressionTiming ( page , 'auto' ) ;
22- await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
19+ test ( 'display upgrade button for account with insufficient credits' , async ( ) => {
20+ await setAPIKey ( page , 'INSUFFICIENTCREDITS123' ) ;
21+ await setCompressionTiming ( page , 'auto' ) ;
22+ await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
2323
24- await uploadMedia ( page , 'input-example.jpg' ) ;
24+ await uploadMedia ( page , 'input-example.jpg' ) ;
2525
26- await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
26+ await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
2727
28- await expect ( page . getByText ( 'Upgrade account' ) ) . toBeVisible ( ) ;
29- await expect ( page . getByRole ( 'link' , { name : 'No thanks, continue anyway' } ) ) . toBeVisible ( ) ;
30- } ) ;
28+ await expect ( page . getByText ( 'Upgrade account' ) ) . toBeVisible ( ) ;
29+ await expect ( page . getByRole ( 'link' , { name : 'No thanks, continue anyway' } ) ) . toBeVisible ( ) ;
30+ } ) ;
3131
32- test ( 'not display dismiss link for no credits' , async ( ) => {
33- await setAPIKey ( page , 'NOCREDITS123' ) ;
34- await setCompressionTiming ( page , 'auto' ) ;
35- await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
32+ test ( 'not display dismiss link for no credits' , async ( ) => {
33+ await setAPIKey ( page , 'NOCREDITS123' ) ;
34+ await setCompressionTiming ( page , 'auto' ) ;
35+ await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
3636
37- await uploadMedia ( page , 'input-example.jpg' ) ;
37+ await uploadMedia ( page , 'input-example.jpg' ) ;
3838
39- await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
39+ await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
4040
41- await expect ( page . getByText ( 'Upgrade account' ) ) . toBeVisible ( ) ;
42- await expect ( page . getByRole ( 'link' , { name : 'No thanks, continue anyway' } ) ) . not . toBeVisible ( ) ;
43- } ) ;
41+ await expect ( page . getByText ( 'Upgrade account' ) ) . toBeVisible ( ) ;
42+ await expect ( page . getByRole ( 'link' , { name : 'No thanks, continue anyway' } ) ) . not . toBeVisible ( ) ;
43+ } ) ;
4444
45- test ( 'show bulk optimization button after dismissing notice' , async ( ) => {
46- await setAPIKey ( page , 'INSUFFICIENTCREDITS123' ) ;
47- await setCompressionTiming ( page , 'auto' ) ;
48- await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
45+ test ( 'show bulk optimization button after dismissing notice' , async ( ) => {
46+ await setAPIKey ( page , 'INSUFFICIENTCREDITS123' ) ;
47+ await setCompressionTiming ( page , 'auto' ) ;
48+ await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
4949
50- await uploadMedia ( page , 'input-example.jpg' ) ;
50+ await uploadMedia ( page , 'input-example.jpg' ) ;
5151
52- await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
52+ await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
5353
54- await page . getByRole ( 'link' , { name : 'No thanks, continue anyway' } ) . click ( ) ;
54+ await page . getByRole ( 'link' , { name : 'No thanks, continue anyway' } ) . click ( ) ;
5555
56- await expect ( page . getByRole ( 'button' , { name : 'Start Bulk Optimization' } ) ) . toBeVisible ( ) ;
57- } ) ;
56+ await expect ( page . getByRole ( 'button' , { name : 'Start Bulk Optimization' } ) ) . toBeVisible ( ) ;
57+ } ) ;
5858
59- test ( 'show notice after dismissing notice and refreshing page' , async ( ) => {
60- await setAPIKey ( page , 'INSUFFICIENTCREDITS123' ) ;
61- await setCompressionTiming ( page , 'auto' ) ;
62- await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
59+ test ( 'show notice after dismissing notice and refreshing page' , async ( ) => {
60+ await setAPIKey ( page , 'INSUFFICIENTCREDITS123' ) ;
61+ await setCompressionTiming ( page , 'auto' ) ;
62+ await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
6363
64- await uploadMedia ( page , 'input-example.jpg' ) ;
64+ await uploadMedia ( page , 'input-example.jpg' ) ;
6565
66- await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
66+ await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
6767
68- await page . getByRole ( 'link' , { name : 'No thanks, continue anyway' } ) . click ( ) ;
68+ await page . getByRole ( 'link' , { name : 'No thanks, continue anyway' } ) . click ( ) ;
6969
70- await page . reload ( ) ;
70+ await page . reload ( ) ;
7171
72- await expect ( page . getByRole ( 'button' , { name : 'Start Bulk Optimization' } ) ) . not . toBeVisible ( ) ;
73- await expect ( page . getByRole ( 'link' , { name : 'Upgrade account' } ) ) . toBeVisible ( ) ;
74- await expect ( page . getByRole ( 'link' , { name : 'No thanks, continue anyway' } ) ) . toBeVisible ( ) ;
75- } ) ;
72+ await expect ( page . getByRole ( 'button' , { name : 'Start Bulk Optimization' } ) ) . not . toBeVisible ( ) ;
73+ await expect ( page . getByRole ( 'link' , { name : 'Upgrade account' } ) ) . toBeVisible ( ) ;
74+ await expect ( page . getByRole ( 'link' , { name : 'No thanks, continue anyway' } ) ) . toBeVisible ( ) ;
75+ } ) ;
7676
77- test ( 'not display upgrade button for paid accounts' , async ( ) => {
78- await setAPIKey ( page , 'PAID123' ) ;
77+ test ( 'not display upgrade button for paid accounts' , async ( ) => {
78+ await setAPIKey ( page , 'PAID123' ) ;
7979
80- await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
80+ await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
8181
82- await expect ( page . getByText ( 'Upgrade account' ) ) . not . toBeVisible ( ) ;
83- } ) ;
82+ await expect ( page . getByText ( 'Upgrade account' ) ) . not . toBeVisible ( ) ;
83+ } ) ;
8484
85- test ( 'summary should display correct values for empty library' , async ( ) => {
86- await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
85+ test ( 'summary should display correct values for empty library' , async ( ) => {
86+ await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
8787
88- await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
88+ await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
8989
90- await expect ( page . locator ( '#uploaded-images' ) ) . toHaveText ( '0' ) ;
91- await expect ( page . locator ( '#optimizable-image-sizes' ) ) . toHaveText ( '0' ) ;
92- await expect ( page . locator ( '#estimated-cost' ) ) . toHaveText ( '$ 0.00' ) ;
93- await expect ( page . locator ( '#optimized-image-sizes' ) ) . toHaveText ( '0' ) ;
94- await expect ( page . locator ( '#unoptimized-library-size' ) ) . toHaveText ( '-' ) ;
95- await expect ( page . locator ( '#optimized-library-size' ) ) . toHaveText ( '-' ) ;
96- await expect ( page . locator ( '#savings-percentage' ) ) . toHaveText ( '0%' ) ;
97- await expect ( page . locator ( '#compression-progress-bar' ) ) . toHaveText ( '0 / 0 (100%)' ) ;
98- } ) ;
90+ await expect ( page . locator ( '#uploaded-images' ) ) . toHaveText ( '0' ) ;
91+ await expect ( page . locator ( '#optimizable-image-sizes' ) ) . toHaveText ( '0' ) ;
92+ await expect ( page . locator ( '#estimated-cost' ) ) . toHaveText ( '$ 0.00' ) ;
93+ await expect ( page . locator ( '#optimized-image-sizes' ) ) . toHaveText ( '0' ) ;
94+ await expect ( page . locator ( '#unoptimized-library-size' ) ) . toHaveText ( '-' ) ;
95+ await expect ( page . locator ( '#optimized-library-size' ) ) . toHaveText ( '-' ) ;
96+ await expect ( page . locator ( '#savings-percentage' ) ) . toHaveText ( '0%' ) ;
97+ await expect ( page . locator ( '#compression-progress-bar' ) ) . toHaveText ( '0 / 0 (100%)' ) ;
98+ } ) ;
9999
100- test ( 'bulk optimize webp images' , async ( ) => {
101- // https://make.wordpress.org/core/2021/06/07/wordpress-5-8-adds-webp-support/
102- if ( WPVersion < 5.8 ) return ;
103-
104- await setAPIKey ( page , 'JPG123' ) ;
105- await setCompressionTiming ( page , 'auto' ) ;
100+ test ( 'bulk optimize webp images' , async ( ) => {
101+ // https://make.wordpress.org/core/2021/06/07/wordpress-5-8-adds-webp-support/
102+ if ( WPVersion < 5.8 ) return ;
106103
107- await enableCompressionSizes ( page , [ ] ) ;
108- await uploadMedia ( page , 'input-example.jpg ' ) ;
104+ await setAPIKey ( page , 'JPG123' ) ;
105+ await setCompressionTiming ( page , 'auto ' ) ;
109106
110- await enableCompressionSizes ( page , [ '0' ] ) ;
111- await uploadMedia ( page , 'input-example.webp ' ) ;
107+ await enableCompressionSizes ( page , [ ] ) ;
108+ await uploadMedia ( page , 'input-example.jpg ' ) ;
112109
113- await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium '] ) ;
114- await uploadMedia ( page , 'input-example.jpg ' ) ;
110+ await enableCompressionSizes ( page , [ '0' ] ) ;
111+ await uploadMedia ( page , 'input-example.webp ' ) ;
115112
116- await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
113+ await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
114+ await uploadMedia ( page , 'input-example.jpg' ) ;
117115
118- await expect ( page . locator ( '#uploaded-images' ) ) . toHaveText ( '3' ) ;
119- await expect ( page . locator ( '#optimizable-image-sizes' ) ) . toHaveText ( '5' ) ;
120- await expect ( page . locator ( '#optimized-image-sizes' ) ) . toHaveText ( '4' ) ;
121- } ) ;
116+ await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
122117
123- test ( 'summary should display correct values' , async ( ) => {
124- await setAPIKey ( page , 'JPG123' ) ;
125- await setCompressionTiming ( page , 'auto' ) ;
118+ await expect ( page . locator ( '#uploaded-images' ) ) . toHaveText ( '3' ) ;
119+ await expect ( page . locator ( '#optimizable-image-sizes' ) ) . toHaveText ( '5' ) ;
120+ await expect ( page . locator ( '#optimized-image-sizes' ) ) . toHaveText ( '4' ) ;
121+ } ) ;
126122
127- await enableCompressionSizes ( page , [ ] ) ;
128- await uploadMedia ( page , 'input-example.jpg' ) ;
123+ test ( 'summary should display correct values' , async ( ) => {
124+ await setAPIKey ( page , 'JPG123' ) ;
125+ await setCompressionTiming ( page , 'auto' ) ;
129126
130- await enableCompressionSizes ( page , [ '0' ] ) ;
131- await uploadMedia ( page , 'input-example.jpg' ) ;
127+ await enableCompressionSizes ( page , [ ] ) ;
128+ await uploadMedia ( page , 'input-example.jpg' ) ;
132129
133- await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium '] ) ;
134- await uploadMedia ( page , 'input-example.jpg' ) ;
130+ await enableCompressionSizes ( page , [ '0' ] ) ;
131+ await uploadMedia ( page , 'input-example.jpg' ) ;
135132
136- await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
133+ await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
134+ await uploadMedia ( page , 'input-example.jpg' ) ;
137135
138- await expect ( page . locator ( '#uploaded-images' ) ) . toHaveText ( '3' ) ;
139- await expect ( page . locator ( '#optimizable-image-sizes' ) ) . toHaveText ( '5' ) ;
140- await expect ( page . locator ( '#optimized-image-sizes' ) ) . toHaveText ( '4' ) ;
136+ await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
141137
142- if ( WPVersion < 5.7 ) {
143- await expect ( page . locator ( '#unoptimized-library-size' ) ) . toHaveText ( '3.03 MB' ) ;
144- await expect ( page . locator ( '#optimized-library-size' ) ) . toHaveText ( '2.36 MB' ) ;
145- await expect ( page . locator ( '#savings-percentage' ) ) . toHaveText ( '22.2%' ) ;
146- } else if ( WPVersion < 6.3 ) {
147- await expect ( page . locator ( '#unoptimized-library-size' ) ) . toHaveText ( '2.84 MB' ) ;
148- await expect ( page . locator ( '#optimized-library-size' ) ) . toHaveText ( '2.16 MB' ) ;
149- await expect ( page . locator ( '#savings-percentage' ) ) . toHaveText ( '23.8%' ) ;
150- } else {
151- await expect ( page . locator ( '#unoptimized-library-size' ) ) . toHaveText ( '3.33 MB' ) ;
152- await expect ( page . locator ( '#optimized-library-size' ) ) . toHaveText ( '2.66 MB' ) ;
153- await expect ( page . locator ( '#savings-percentage' ) ) . toHaveText ( '20.2%' ) ;
154- }
155- await expect ( page . locator ( '#compression-progress-bar' ) ) . toHaveText ( '4 / 9 (44%)' ) ;
156- } ) ;
138+ await expect ( page . locator ( '#uploaded-images' ) ) . toHaveText ( '3' ) ;
139+ await expect ( page . locator ( '#optimizable-image-sizes' ) ) . toHaveText ( '5' ) ;
140+ await expect ( page . locator ( '#optimized-image-sizes' ) ) . toHaveText ( '4' ) ;
157141
158- test ( 'start bulk optimization should optimize remaining images' , async ( ) => {
159- await setAPIKey ( page , 'JPG123' ) ;
160- await setCompressionTiming ( page , 'auto' ) ;
142+ if ( WPVersion < 5.7 ) {
143+ await expect ( page . locator ( '#unoptimized-library-size' ) ) . toHaveText ( '3.03 MB' ) ;
144+ await expect ( page . locator ( '#optimized-library-size' ) ) . toHaveText ( '2.36 MB' ) ;
145+ await expect ( page . locator ( '#savings-percentage' ) ) . toHaveText ( '22.2%' ) ;
146+ } else {
147+ await expect ( page . locator ( '#unoptimized-library-size' ) ) . toHaveText ( '2.84 MB' ) ;
148+ await expect ( page . locator ( '#optimized-library-size' ) ) . toHaveText ( '2.16 MB' ) ;
149+ await expect ( page . locator ( '#savings-percentage' ) ) . toHaveText ( '23.8%' ) ;
150+ }
151+ await expect ( page . locator ( '#compression-progress-bar' ) ) . toHaveText ( '4 / 9 (44%)' ) ;
152+ } ) ;
161153
162- await enableCompressionSizes ( page , [ ] ) ;
163- await uploadMedia ( page , 'input-example.jpg' ) ;
154+ test ( 'start bulk optimization should optimize remaining images' , async ( ) => {
155+ await setAPIKey ( page , 'JPG123' ) ;
156+ await setCompressionTiming ( page , 'auto' ) ;
164157
165- await enableCompressionSizes ( page , [ '0' ] ) ;
166- await uploadMedia ( page , 'input-example.jpg' ) ;
158+ await enableCompressionSizes ( page , [ ] ) ;
159+ await uploadMedia ( page , 'input-example.jpg' ) ;
167160
168- await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium '] ) ;
169- await uploadMedia ( page , 'input-example.jpg' ) ;
161+ await enableCompressionSizes ( page , [ '0' ] ) ;
162+ await uploadMedia ( page , 'input-example.jpg' ) ;
170163
171- await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
164+ await enableCompressionSizes ( page , [ '0' , 'thumbnail' , 'medium' ] ) ;
165+ await uploadMedia ( page , 'input-example.jpg' ) ;
172166
173- await expect ( page . locator ( '#optimizable-image-sizes' ) ) . toHaveText ( '5' )
174- await expect ( page . locator ( '#compression-progress-bar' ) ) . toHaveText ( '4 / 9 (44%)' ) ;
167+ await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
175168
176- await page . getByRole ( 'button' , { name : 'Start Bulk Optimization' } ) . click ( ) ;
169+ await expect ( page . locator ( '#optimizable-image-sizes' ) ) . toHaveText ( '5' ) ;
170+ await expect ( page . locator ( '#compression-progress-bar' ) ) . toHaveText ( '4 / 9 (44%)' ) ;
177171
178- await expect ( page . locator ( '#compression-progress-bar' ) ) . toHaveText ( '9 / 9 (100%)' ) ;
179- } ) ;
172+ await page . getByRole ( 'button' , { name : 'Start Bulk Optimization' } ) . click ( ) ;
180173
181- test ( 'should display tooltips' , async ( ) => {
182- await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
183- const tooltips = await page . locator ( 'div.tip' ) . all ( ) ;
184- await expect ( tooltips . length ) . toEqual ( 1 ) ;
185- } ) ;
186- } ) ;
174+ await expect ( page . locator ( '#compression-progress-bar' ) ) . toHaveText ( '9 / 9 (100%)' ) ;
175+ } ) ;
176+
177+ test ( 'should display tooltips' , async ( ) => {
178+ await page . goto ( '/wp-admin/upload.php?page=tiny-bulk-optimization' ) ;
179+ const tooltips = await page . locator ( 'div.tip' ) . all ( ) ;
180+ await expect ( tooltips . length ) . toEqual ( 1 ) ;
181+ } ) ;
182+ } ) ;
0 commit comments