test(web): pin the static connection pill in the lifecycle browser snapshot
This commit is contained in:
1 parent
16e986548e
commit
b044e45438
2 files changed
+8
-15
No files matched your search
@@ -434,16 +434,9 @@ describe('web e2e: lifecycle & chrome (workspace flow / reload / dark mode)', ()
|
||||
expect(await connecting.innerText()).toMatch(/^Reconnecting\.{1,3}$/)
|
||||
const connectingGeometry = await connectionIndicatorGeometry(connecting)
|
||||
expect(await connectionIndicatorTextAlignment(connecting)).toBe('left')
|
||||
// Animated dots must remain hidden with their state label during hover.
|
||||
await connecting.evaluate((element) => {
|
||||
for (const animation of element.getAnimations({ subtree: true })) {
|
||||
if (!(animation instanceof CSSAnimation)) continue
|
||||
animation.pause()
|
||||
animation.currentTime = 1_250
|
||||
}
|
||||
})
|
||||
// Hover keeps the state label; the pill never swaps copy or resizes.
|
||||
await connecting.hover()
|
||||
expect(await connecting.innerText()).toBe('Reconnect now')
|
||||
expect(await connecting.innerText()).toMatch(/^Reconnecting\.{1,3}$/)
|
||||
expect(await connectionIndicatorGeometry(connecting)).toEqual(connectingGeometry)
|
||||
await recoveryPage.mouse.move(0, 0)
|
||||
|
||||
@@ -461,7 +454,6 @@ describe('web e2e: lifecycle & chrome (workspace flow / reload / dark mode)', ()
|
||||
const indicator = connecting
|
||||
expect(await connectionIndicatorGeometry(indicator)).toEqual(connectingGeometry)
|
||||
expect(await connectionIndicatorTextAlignment(indicator)).toBe('left')
|
||||
await indicator.hover()
|
||||
const snapshot = await captureStableAria(recoveryPage, '[class*="footArea"]', scaffold.workspaceCwd)
|
||||
await compareOrRefreshGolden(CONNECTION_ERROR_EXPECTED, snapshot, MODE)
|
||||
const style = await indicator.evaluate((element) => {
|
||||
@@ -498,11 +490,9 @@ describe('web e2e: lifecycle & chrome (workspace flow / reload / dark mode)', ()
|
||||
await connecting.waitFor()
|
||||
await recoveryPage.clock.fastForward(500)
|
||||
await expect.poll(() => sockets.length).toBe(11)
|
||||
const idleBackground = await indicator.evaluate(element => getComputedStyle(element).backgroundColor)
|
||||
await indicator.hover()
|
||||
expect(await indicator.innerText()).toBe('Reconnect now')
|
||||
expect(await indicator.innerText()).toMatch(/^Reconnecting\.{1,3}$/)
|
||||
const hoverBackground = await indicator.evaluate(element => getComputedStyle(element).backgroundColor)
|
||||
expect(hoverBackground).toBe(idleBackground)
|
||||
await recoveryPage.mouse.down()
|
||||
await expect.poll(() => indicator.evaluate(element => getComputedStyle(element).backgroundColor))
|
||||
.not.toBe(hoverBackground)
|
||||
@@ -513,7 +503,10 @@ describe('web e2e: lifecycle & chrome (workspace flow / reload / dark mode)', ()
|
||||
const recovered = recoveryPage.getByRole('status')
|
||||
await recovered.waitFor({ timeout: 10_000 })
|
||||
expect(await recovered.innerText()).toBe('Connected')
|
||||
expect(await connectionIndicatorGeometry(recovered)).toEqual(connectingGeometry)
|
||||
// The pill sizes to its current label; chrome height and icon box stay fixed.
|
||||
const recoveredGeometry = await connectionIndicatorGeometry(recovered)
|
||||
expect(recoveredGeometry.outer[3]).toBe(connectingGeometry.outer[3])
|
||||
expect(recoveredGeometry.icon).toEqual(connectingGeometry.icon)
|
||||
expect(await connectionIndicatorTextAlignment(recovered)).toBe('left')
|
||||
await recoveryPage.clock.fastForward(2_000)
|
||||
await recovered.waitFor({ state: 'detached', timeout: 5_000 })
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
- button "Settings":
|
||||
- img
|
||||
- text: Settings
|
||||
- button "Reconnecting automatically, reconnect now": Reconnect now
|
||||
- button "Reconnecting automatically, reconnect now": Reconnecting
|
||||
Reference in new issue
Block a user