Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions packages/e2e/src/constants.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/**
* Shared constants for E2E specs — keep hard-coded URLs here (rather than as
* per-spec consts) so they're maintained in one place.
*/

export const SDV_MOD_URL = "https://www.nexusmods.com/stardewvalley/mods/2400";
3 changes: 1 addition & 2 deletions packages/e2e/src/tests/mods-deploy.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
* Deploy it from the Mods list. Runs for both free and premium.
*
*/
import { SDV_MOD_URL } from "../constants";
import { test, expect, type NexusUser } from "../fixtures/vortex-app";
import { downloadModViaModManager } from "../helpers/modDownload";
import { Timeouts } from "../helpers/timeouts";
Expand All @@ -15,8 +16,6 @@ import { ModsPage } from "../selectors/modsPage";
import { NavBar } from "../selectors/navbar";
import { AUTOMATION_LABELS, SettingsPage } from "../selectors/settings";

const SDV_MOD_URL = "https://www.nexusmods.com/stardewvalley/mods/2400";

const TIERS = [
{ tier: "free", user: freeUser },
{ tier: "premium", user: premiumUser },
Expand Down
3 changes: 1 addition & 2 deletions packages/e2e/src/tests/mods-manual.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
* has no real launcher). Native file picker is bypassed by overriding
* dialog.showOpenDialog from the test side.
*/
import { SDV_MOD_URL } from "../constants";
import { test, expect, type NexusUser } from "../fixtures/vortex-app";
import { acceptConsent } from "../helpers/consent";
import { Timeouts } from "../helpers/timeouts";
Expand All @@ -15,8 +16,6 @@
import { NavBar } from "../selectors/navbar";
import { NexusModPage } from "../selectors/nexusModPage";

const SDV_MOD_URL = "https://www.nexusmods.com/stardewvalley/mods/2400";

const TIERS = [
{ tier: "free", user: freeUser },
{ tier: "premium", user: premiumUser },
Expand Down Expand Up @@ -49,11 +48,11 @@
await test.step("Click Manual and capture the download", async () => {
// Premium skips the slow-download interstitial — set up the listener
// first so both paths funnel through the same waitForEvent.
const downloadPromise = nexusPage.waitForEvent("download", {

Check failure on line 51 in packages/e2e/src/tests/mods-manual.spec.ts

View workflow job for this annotation

GitHub Actions / e2e (platform-cluster)

src/tests/mods-manual.spec.ts:29:7 › Mods - Manual Downloads › premium › [QA-176] premium user can manually download SMAPI and Install From File

5) src/tests/mods-manual.spec.ts:29:7 › Mods - Manual Downloads › premium › [QA-176] premium user can manually download SMAPI and Install From File › Click Manual and capture the download Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForEvent: Timeout 60000ms exceeded while waiting for event "download" =========================== logs =========================== waiting for event "download" ============================================================ 49 | // Premium skips the slow-download interstitial — set up the listener 50 | // first so both paths funnel through the same waitForEvent. > 51 | const downloadPromise = nexusPage.waitForEvent("download", { | ^ 52 | timeout: Timeouts.NETWORK, 53 | }); 54 | at /home/runner/_work/Vortex/Vortex/packages/e2e/src/tests/mods-manual.spec.ts:51:45 at /home/runner/_work/Vortex/Vortex/packages/e2e/src/tests/mods-manual.spec.ts:48:9

Check failure on line 51 in packages/e2e/src/tests/mods-manual.spec.ts

View workflow job for this annotation

GitHub Actions / e2e (platform-cluster)

src/tests/mods-manual.spec.ts:29:7 › Mods - Manual Downloads › premium › [QA-176] premium user can manually download SMAPI and Install From File

5) src/tests/mods-manual.spec.ts:29:7 › Mods - Manual Downloads › premium › [QA-176] premium user can manually download SMAPI and Install From File › Click Manual and capture the download TimeoutError: page.waitForEvent: Timeout 60000ms exceeded while waiting for event "download" =========================== logs =========================== waiting for event "download" ============================================================ 49 | // Premium skips the slow-download interstitial — set up the listener 50 | // first so both paths funnel through the same waitForEvent. > 51 | const downloadPromise = nexusPage.waitForEvent("download", { | ^ 52 | timeout: Timeouts.NETWORK, 53 | }); 54 | at /home/runner/_work/Vortex/Vortex/packages/e2e/src/tests/mods-manual.spec.ts:51:45 at /home/runner/_work/Vortex/Vortex/packages/e2e/src/tests/mods-manual.spec.ts:48:9
timeout: Timeouts.NETWORK,
});

await expect(nexusModPage.manualDownloadLink).toBeVisible({

Check failure on line 55 in packages/e2e/src/tests/mods-manual.spec.ts

View workflow job for this annotation

GitHub Actions / e2e (platform-cluster)

src/tests/mods-manual.spec.ts:29:7 › Mods - Manual Downloads › premium › [QA-176] premium user can manually download SMAPI and Install From File

5) src/tests/mods-manual.spec.ts:29:7 › Mods - Manual Downloads › premium › [QA-176] premium user can manually download SMAPI and Install From File › Click Manual and capture the download Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByRole('link', { name: /^manual( download)?$/i }).first() Expected: visible Timeout: 60000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 60000ms - waiting for getByRole('link', { name: /^manual( download)?$/i }).first() 53 | }); 54 | > 55 | await expect(nexusModPage.manualDownloadLink).toBeVisible({ | ^ 56 | timeout: Timeouts.NETWORK, 57 | }); 58 | await nexusModPage.manualDownloadLink.click({ timeout: Timeouts.NETWORK }); at /home/runner/_work/Vortex/Vortex/packages/e2e/src/tests/mods-manual.spec.ts:55:57 at /home/runner/_work/Vortex/Vortex/packages/e2e/src/tests/mods-manual.spec.ts:48:9

Check failure on line 55 in packages/e2e/src/tests/mods-manual.spec.ts

View workflow job for this annotation

GitHub Actions / e2e (platform-cluster)

src/tests/mods-manual.spec.ts:29:7 › Mods - Manual Downloads › premium › [QA-176] premium user can manually download SMAPI and Install From File

5) src/tests/mods-manual.spec.ts:29:7 › Mods - Manual Downloads › premium › [QA-176] premium user can manually download SMAPI and Install From File › Click Manual and capture the download Error: expect(locator).toBeVisible() failed Locator: getByRole('link', { name: /^manual( download)?$/i }).first() Expected: visible Timeout: 60000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 60000ms - waiting for getByRole('link', { name: /^manual( download)?$/i }).first() 53 | }); 54 | > 55 | await expect(nexusModPage.manualDownloadLink).toBeVisible({ | ^ 56 | timeout: Timeouts.NETWORK, 57 | }); 58 | await nexusModPage.manualDownloadLink.click({ timeout: Timeouts.NETWORK }); at /home/runner/_work/Vortex/Vortex/packages/e2e/src/tests/mods-manual.spec.ts:55:57 at /home/runner/_work/Vortex/Vortex/packages/e2e/src/tests/mods-manual.spec.ts:48:9
timeout: Timeouts.NETWORK,
});
await nexusModPage.manualDownloadLink.click({ timeout: Timeouts.NETWORK });
Expand Down
3 changes: 1 addition & 2 deletions packages/e2e/src/tests/mods.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,13 @@
* SMAPI (mods/2400) — picked because it has no further prerequisites, so the
* install completes cleanly. Premium users skip the slow-download interstitial.
*/
import { SDV_MOD_URL } from "../constants";
import { test, expect, type NexusUser } from "../fixtures/vortex-app";
import { downloadModViaModManager } from "../helpers/modDownload";
import { Timeouts } from "../helpers/timeouts";
import { freeUser, premiumUser } from "../helpers/users";
import { NavBar } from "../selectors/navbar";

const SDV_MOD_URL = "https://www.nexusmods.com/stardewvalley/mods/2400";

const TIERS = [
{ tier: "free", user: freeUser },
{ tier: "premium", user: premiumUser },
Expand Down
Loading