@@ -22,17 +22,17 @@ test.describe(
2222 await openPage ( url + '?geo=us' , page , browserName ) ;
2323 } ) ;
2424
25- test ( 'Windows download click' , async ( { page, browserName } ) => {
25+ test ( 'Windows download 64 click' , async ( { page, browserName } ) => {
2626 // Click Windows download link
2727 let downloadLink ;
2828
2929 if ( browserName === 'webkit' ) {
3030 downloadLink = page . getByTestId (
31- 'vpn-download-link-secondary-windows'
31+ 'vpn-download-link-secondary-64- windows'
3232 ) ;
3333 } else {
3434 downloadLink = page . getByTestId (
35- 'vpn-download-link-primary-windows'
35+ 'vpn-download-link-primary-64- windows'
3636 ) ;
3737 }
3838
@@ -59,6 +59,46 @@ test.describe(
5959 await download . cancel ( ) ;
6060 } ) ;
6161
62+ test ( 'Windows download arm click' , async ( {
63+ page,
64+ browserName
65+ } ) => {
66+ // Click Windows download link
67+ let downloadLink ;
68+
69+ if ( browserName === 'webkit' ) {
70+ downloadLink = page . getByTestId (
71+ 'vpn-download-link-secondary-arm-windows'
72+ ) ;
73+ } else {
74+ downloadLink = page . getByTestId (
75+ 'vpn-download-link-primary-arm-windows'
76+ ) ;
77+ }
78+
79+ await expect ( downloadLink ) . toBeVisible ( ) ;
80+ await downloadLink . click ( ) ;
81+ await page . waitForURL (
82+ '**/products/vpn/download/windows-arm/thanks/' ,
83+ {
84+ waitUntil : 'commit'
85+ }
86+ ) ;
87+
88+ // Assert /thanks/ page triggers file download.
89+ const download = await page . waitForEvent ( 'download' ) ;
90+ const downloadURL = download . url ( ) ;
91+
92+ expect ( downloadURL ) . toEqual (
93+ expect . stringContaining (
94+ 'https://archive.mozilla.org/pub/vpn/releases/'
95+ )
96+ ) ;
97+
98+ // Cancel download if not finished.
99+ await download . cancel ( ) ;
100+ } ) ;
101+
62102 test ( 'Mac download click' , async ( { page, browserName } ) => {
63103 // Click Windows download link
64104 let downloadLink ;
0 commit comments