test: QA-103 manually set game location to manage a game - #23697
test: QA-103 manually set game location to manage a game#23697RedRanger14 wants to merge 5 commits into
Conversation
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>
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>
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>
| <?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> |
There was a problem hiding this comment.
What was the issue encountered? I don't remember having a need for a machine wide configuration, but I don't mind this
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
IDCs
left a comment
There was a problem hiding this comment.
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>
|
This PR has been marked as stale due to inactivity. |
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.