From 24bf5eea7dd9754a8d46d64d9bd6ac8771c52e82 Mon Sep 17 00:00:00 2001 From: hided62 Date: Fri, 21 Aug 2026 16:50:23 +0000 Subject: [PATCH] =?UTF-8?q?test(game-ui):=20=EC=A7=80=EB=8F=84=20=EA=B3=84?= =?UTF-8?q?=EC=A0=88=20=EC=A0=84=ED=99=98=20=EA=B2=80=EC=A6=9D=EC=9D=84=20?= =?UTF-8?q?=EC=95=88=EC=A0=95=ED=99=94=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 데스크톱은 중간 opacity를 검증하고 모바일은 viewport 전환 뒤 동일 DOM과 최종 geometry를 검증한다. --- app/game-frontend/e2e/mainNavigation.spec.ts | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/app/game-frontend/e2e/mainNavigation.spec.ts b/app/game-frontend/e2e/mainNavigation.spec.ts index ff55f750..db786009 100644 --- a/app/game-frontend/e2e/mainNavigation.spec.ts +++ b/app/game-frontend/e2e/mainNavigation.spec.ts @@ -4367,15 +4367,31 @@ test('seasonal map decodes the next background and crossfades it without remount }) ) .toEqual({ width: 500, height: 357.140625 }); + await map.locator('.map-area').evaluate((area) => { + Object.defineProperty(window, '__mobileMapSeasonTransitionProbe', { + configurable: true, + value: area, + }); + }); state.currentMonth = 7; await emitReadModelInvalidation(page, readModelInvalidation({ lobby: true, map: true })); await expect(map).toContainText('185年 7月'); - await expect(outgoingLayer).toHaveClass(/is-transitioning/u); await expect(currentLayer.locator('img')).toHaveAttribute('src', /bg_fall\.jpg/u); - await expect(outgoingLayer.locator('img')).toHaveAttribute('src', /bg_summer\.jpg/u); await expect(outgoingLayer).not.toHaveClass(/is-transitioning/u); await expect(outgoingLayer.locator('img')).toHaveCount(0); + expect( + await map.locator('.map-area').evaluate((area) => { + const probe = (window as unknown as { __mobileMapSeasonTransitionProbe: Element }) + .__mobileMapSeasonTransitionProbe; + const rect = area.getBoundingClientRect(); + return { + areaMounted: probe === area, + width: rect.width, + height: rect.height, + }; + }) + ).toEqual({ areaMounted: true, width: 500, height: 357.140625 }); if (mapSeasonArtifactRoot) { await map.screenshot({ path: resolve(mapSeasonArtifactRoot, 'season-fall-mobile-complete.png') }); }