Skip to content

test: QA-103 manually set game location to manage a game - #23697

Open
RedRanger14 wants to merge 5 commits into
masterfrom
michaelfinney-qa-103
Open

test: QA-103 manually set game location to manage a game#23697
RedRanger14 wants to merge 5 commits into
masterfrom
michaelfinney-qa-103

Conversation

@RedRanger14

@RedRanger14 RedRanger14 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Covers Games [#8.8]: unmanaged game listed, 'Game not discovered' dialog shown, manual folder selection accepted, game becomes active and listed as Managed, and a mod installs for it. Extracts the showOpenDialog stub into helpers/dialogs and adds Managed/Unmanaged section and dialog locators to the GamesPage POM. https://linear.app/nexus-mods/issue/QA-103/games-88-manually-set-a-games-location-to-successfully-manage-it

Store selection is skipped by the app itself under VORTEX_E2E, and no UAC prompt occurs for user-writable fake game dirs.

Covers Games [#8.8]: unmanaged game listed, 'Game not discovered'
dialog shown, manual folder selection accepted, game becomes active
and listed as Managed, and a mod installs for it. Extracts the
showOpenDialog stub into helpers/dialogs and adds Managed/Unmanaged
section and dialog locators to the GamesPage POM.

Store selection is skipped by the app itself under VORTEX_E2E, and no
UAC prompt occurs for user-writable fake game dirs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@RedRanger14
RedRanger14 marked this pull request as ready for review July 15, 2026 14:36
@RedRanger14
RedRanger14 requested a review from a team as a code owner July 15, 2026 14:37
A failed probe build exited 0, so nx cached the empty result as
success and the app shipped without dotnetprobe - the renderer then
crashes at runtime ('Target crashed' in random e2e tests, seen on the
Linux runner). The build cache key also lacked the platform, letting
one OS's cached binary satisfy the other on shared caches.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@RedRanger14
RedRanger14 requested a review from a team as a code owner July 15, 2026 14:54
RedRanger14 and others added 2 commits July 15, 2026 17:12
The test steps run with continue-on-error, so a hard failure before
Playwright starts (e.g. the app build aborting) was only visible as
the encrypt step tripping over a missing test-results directory. Add
an explicit check that fails with a pointer to the real log, and skip
the encrypt/upload steps when there is nothing to archive.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…e config

Machines with no configured NuGet sources (seen on a dev machine and
suspected on the Linux CI runner) fail restore with NU1100 and shipped
a probe-less build. A project-scoped nuget.config with an explicit
nuget.org source removes the dependency on machine-level config.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@RedRanger14
RedRanger14 requested a review from Aragas July 21, 2026 08:54
Marcin-NM
Marcin-NM previously approved these changes Jul 22, 2026
Comment on lines +1 to +13
<?xml version="1.0" encoding="utf-8"?>
<!--
Declare the package source explicitly so the build does not depend on
machine-level NuGet configuration. Machines with no configured sources
(seen on dev machines and CI runners) otherwise fail restore with NU1100,
which used to silently ship a Vortex build without dotnetprobe.
-->
<configuration>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What was the issue encountered? I don't remember having a need for a machine wide configuration, but I don't mind this

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From what I could tell, the failure was NU1100 on restore. My machine had no NuGet sources configured at all (dotnet nuget list source showed "No sources found"), so the restore failed, and because the build script swallowed the error, Vortex got built without the probe. I suspect the platform-cluster runner might have the same issue but I haven't been able to confirm that. I'm honestly not sure how my machine ended up with no sources, so this felt like the safest way to make the probe build not depend on machine config. It should only apply to dotnetprobe, so other .NET builds shouldn't be affected, but happy to change the approach if you'd rather handle it differently.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the platform-cluster runner is an intentionally minimal ubuntu runner which never provisions .NET SDK; this obviously means that workflow will always fail until the runner gets updated to include the SDK OR we update the e2e workflow to provision .NET SDK ourselves on linux environments.

My suggestion is to have it provisioned on the runner rather than us modifying this workflow and porbably others in the future whenever that runner is being used with .NET builds.

Comment thread packages/e2e/src/tests/game-management.spec.ts Outdated

@IDCs IDCs left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Functionally these changes are fine - but they're partially duplicated code and will be a maintenance nightmare going forward if we keep duplicating and diverging for each test we write.

…g the flow

The 'Game not discovered' dialog assertions move into manageGame so
the fixture path and the test share one implementation; the test keeps
only its ticket-specific assertions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

This PR has been marked as stale due to inactivity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants