enso/app/gui/integration-test/dashboard/authPreserveEmail.spec.ts
Adam Obuchowicz 736134e491
Add traces to integration tests + suppress one flaky assertion. (#11595)
Fixes #11604

Most issues were caused by a problem with Project List flooding the network with its requests - this was fixed on develop.
But one assertion was flaky - it assumed we will see the "real" run result on `write` node, but sometimes it is immediately overwritten by dry run.

But the most important part of this PR is adding traces to Electron packages - it's should be much easier now to debug E2E test failures.

Also renamed the previously misnamed "E2E tests" to "[GUI] integration tests".
2024-11-27 14:09:59 +00:00

31 lines
1.1 KiB
TypeScript

/** @file Test that emails are preserved when navigating between auth pages. */
import * as test from '@playwright/test'
import { VALID_EMAIL, mockAll } from './actions'
// Reset storage state for this file to avoid being authenticated
test.test.use({ storageState: { cookies: [], origins: [] } })
test.test('preserve email input when changing pages', ({ page }) =>
mockAll({ page })
.fillEmail(VALID_EMAIL)
.goToPage.register()
.withEmailInput(async (emailInput) => {
await test.expect(emailInput).toHaveValue(VALID_EMAIL)
})
.fillEmail(`2${VALID_EMAIL}`)
.goToPage.login()
.withEmailInput(async (emailInput) => {
await test.expect(emailInput).toHaveValue(`2${VALID_EMAIL}`)
})
.fillEmail(`3${VALID_EMAIL}`)
.goToPage.forgotPassword()
.withEmailInput(async (emailInput) => {
await test.expect(emailInput).toHaveValue(`3${VALID_EMAIL}`)
})
.fillEmail(`4${VALID_EMAIL}`)
.goToPage.login()
.withEmailInput(async (emailInput) => {
await test.expect(emailInput).toHaveValue(`4${VALID_EMAIL}`)
}),
)