diff options
3 files changed, 47 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/helpers.ts b/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/helpers.ts index 7490adc6ac..d04dac2f3b 100644 --- a/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/helpers.ts +++ b/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/helpers.ts @@ -51,6 +51,13 @@ export const createHelpers = (page: Page, routes: RoutesObjectModel, utils: Mock ), ); + const locateRelaysByObfuscation = (relayList: IRelayList): LocatedRelay[] => + relayList.countries.flatMap((country) => + country.cities.flatMap((city) => + city.relays.filter((relay) => relay.quic).map((relay) => ({ country, city, relay })), + ), + ); + const resetOwnership = async () => { await routes.filter.expandOwnership(); await routes.filter.selectOwnershipOption('Any'); @@ -104,6 +111,7 @@ export const createHelpers = (page: Page, routes: RoutesObjectModel, utils: Mock expandLocatedRelays, locateRelaysByProvider, locateRelaysByOwner, + locateRelaysByObfuscation, resetOwnership, resetProviders, resetView, diff --git a/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/mock-data.ts b/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/mock-data.ts index 6e60e29c8d..f3039c2537 100644 --- a/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/mock-data.ts +++ b/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/mock-data.ts @@ -45,6 +45,22 @@ const relayList: IRelayList = { endpointType: 'wireguard', daita: true, }, + { + hostname: 'se-got-wg-104', + provider: 'mullvad', + ipv4AddrIn: '10.0.0.4', + includeInCountry: true, + active: true, + weight: 0, + owned: true, + endpointType: 'wireguard', + daita: true, + quic: { + addrIn: [], + domain: '', + token: '', + }, + }, ], }, ], diff --git a/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/select-location.spec.ts b/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/select-location.spec.ts index 3f4e00af03..ab4cd3736d 100644 --- a/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/select-location.spec.ts +++ b/desktop/packages/mullvad-vpn/test/e2e/mocked/select-location/select-location.spec.ts @@ -7,6 +7,7 @@ import { IRelayListWithEndpointData, ISettings, IWireguardEndpointData, + ObfuscationType, Ownership, } from '../../../../src/shared/daemon-rpc-types'; import { RoutePath } from '../../../../src/shared/routes'; @@ -219,5 +220,27 @@ test.describe('Select location', () => { }); }); }); + test.describe('Filter by obfuscation', () => { + test('Should apply filter when QUIC obfuscation is selected', async () => { + const settings = getDefaultSettings(); + if ('normal' in settings.relaySettings) { + settings.obfuscationSettings.selectedObfuscation = ObfuscationType.quic; + } + await util.sendMockIpcResponse<ISettings>({ + channel: 'settings-', + response: settings, + }); + const locatedRelays = helpers.locateRelaysByObfuscation(relayList); + const relays = locatedRelays.map((locatedRelay) => locatedRelay.relay); + const relayNames = relays.map((relay) => relay.hostname); + + await helpers.expandLocatedRelays(locatedRelays); + + const buttons = routes.selectLocation.getRelaysMatching(relayNames); + + // Expect all filtered relays to have a button + await expect(buttons).toHaveCount(relays.length); + }); + }); }); }); |
