Vm app e2e - #35
Draft
dudyas6 wants to merge 10 commits into
Draft
Conversation
Move KVM application tests to deviceApps.cy.js (test-apps on device6) while device.cy.js keeps lifecycle tests on test-device (device5). Add scroll-into-view helpers for enrolled-table lookups, default viewport 1920x1080, and an extra wizard Next click for the fleet Updates step. Co-authored-by: Cursor <cursoragent@cursor.com>
dudyas6
force-pushed
the
vm-app-e2e
branch
2 times, most recently
from
August 20, 2026 12:55
79a7640 to
93253ee
Compare
Handle the leave-form Discard changes dialog when sidebar navigation interrupts a dirty wizard, and close the create-fleet wizard cleanly when test-fleet already exists (409 Conflict). Co-authored-by: Cursor <cursoragent@cursor.com>
Fleet/repository specs work on CI with upstream code; drop branch-specific wizard, discard-modal, and common.navigateTo changes. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep only functional changes (name-based lookups, scroll helpers, specific table selectors). Restore original Cypress actionability checks. Co-authored-by: Cursor <cursoragent@cursor.com>
…window
The helper breaks the Cypress retry chain — once the link is found the
500000ms timeout no longer applies to the .should('contain', 'Online')
assertion. Use a direct cy.contains on the table row instead.
Co-authored-by: Cursor <cursoragent@cursor.com>
…meout Make enrolledDeviceRowByAlias the primary helper using cy.contains on the table row directly. enrolledDeviceLinkByAlias derives from it via .find(). This keeps the retry chain intact for long-polling assertions like waiting for Online status. Co-authored-by: Cursor <cursoragent@cursor.com>
…ches Row textContent concatenates cells without whitespace, so the regex boundary check fails. Plain string match is sufficient since device names don't overlap within the same test phase. Co-authored-by: Cursor <cursoragent@cursor.com>
scrollIntoView in the helper breaks Cypress retry chain (action, not query). The Online wait uses a should callback on the table element instead — cy.get retries the full timeout without intermediate actions. Co-authored-by: Cursor <cursoragent@cursor.com>
enrolledDeviceRowByAlias is now a pure query (no actions). Interactive call sites chain .scrollIntoView() themselves. Polling assertions like the Online wait get the full timeout retry window. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
deviceApps.cy.jsfor Form + YAML KVM apps and serial console login against aliastest-apps(device6).device.cy.jslifecycle ontest-device(approve, edit, logs, decommission, scale fleet).flightctl consoletarget devices by alias so both VMs can coexist.Test plan
test-device,device.cy.jsstill covers the original flow.test-apps, runnpx cypress run --spec e2e/deviceApps.cy.js.test-device-edited2does not deletetest-apps.