Skip to content

Commit d32e94a

Browse files
authored
Fix vpn id issues (#17239)
* Add missing html properties * Separate arm and 64 bit tests
1 parent 640418b commit d32e94a

2 files changed

Lines changed: 47 additions & 8 deletions

File tree

bedrock/products/templates/products/vpn/download.html

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,13 @@ <h2>{{ ftl('vpn-download-for-windows-long') }}</h2>
8282
<p class="current-platform-lede">{{ ftl('vpn-download-based-on-your') }}</p>
8383
<p>{{ ftl('vpn-download-for-windows-requirements-v2') }}</p>
8484
<div class="platform-link-container">
85-
<a class="mzp-c-button ga-product-download" href="{{ url('products.vpn.windows-download') }}" data-cta-text="Install via Flathub" class="platform-download-link">
85+
<a class="mzp-c-button ga-product-download" href="{{ url('products.vpn.windows-download') }}" data-cta-text="VPN Download (Windows x64)" class="platform-download-link" data-testid="vpn-download-link-primary-64-windows">
8686
{{ ftl('vpn-download-windows') }}
8787
</a>
88-
<a class="mzp-c-button ga-product-download" href="{{ url('products.vpn.windows-arm-download') }}" data-cta-text="Install via APT" class="platform-download-link">
88+
<a class="mzp-c-button ga-product-download" href="{{ url('products.vpn.windows-arm-download') }}" data-cta-text="VPN Download (Windows ARM)" class="platform-download-link" data-testid="vpn-download-link-primary-arm-windows">
8989
{{ ftl('vpn-download-windows-arm') }}
9090
</a>
9191
</div>
92-
</a>
9392
</div>
9493
</div>
9594
<!-- Mac OS -->
@@ -181,11 +180,11 @@ <h2>{{ ftl('vpn-download-for-windows-v2') }}</h2>
181180
<p>{{ ftl('vpn-download-for-windows-requirements-v2') }}</p>
182181
</div>
183182
<div class="platform-link-container">
184-
<a class="mzp-c-button mzp-t-secondary ga-product-download" href="{{ url('products.vpn.windows-download') }}" data-cta-text="Install via Flathub" class="platform-download-link">
183+
<a class="mzp-c-button mzp-t-secondary ga-product-download" href="{{ url('products.vpn.windows-download') }}" data-cta-text="VPN Download (Windows x64)"class="platform-download-link" data-testid="vpn-download-link-secondary-64-windows">
185184
<span class="platform-download-arrow"></span>
186185
{{ ftl('vpn-download-windows') }}
187186
</a>
188-
<a class="mzp-c-button mzp-t-secondary ga-product-download" href="{{ url('products.vpn.windows-arm-download') }}" data-cta-text="Install via APT" class="platform-download-link">
187+
<a class="mzp-c-button mzp-t-secondary ga-product-download" href="{{ url('products.vpn.windows-arm-download') }}" data-cta-text="VPN Download (Windows ARM)" class="platform-download-link" data-testid="vpn-download-link-secondary-arm-windows">
189188
<span class="platform-download-arrow" aria-hidden="true"></span>
190189
{{ ftl('vpn-download-windows-arm') }}
191190
</a>

tests/playwright/specs/products/vpn/vpn-download.spec.js

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)