Use visible NAS upload storage and reconcile missing files
This commit is contained in:
@@ -339,6 +339,25 @@ try {
|
||||
);
|
||||
}
|
||||
await page.screenshot({ path: 'tests/e2e/login-mobile.png' });
|
||||
await page.route('**/api/auth/login', (route) => route.abort('failed'));
|
||||
await page.getByLabel('이메일', { exact: true }).fill('offline@hop.test');
|
||||
await page.getByLabel('비밀번호', { exact: true }).fill('password-1234');
|
||||
await page.locator('.account-auth').getByRole('button', { name: '로그인', exact: true }).click();
|
||||
const networkToast = page.locator('.error-toast');
|
||||
await networkToast.filter({ hasText: '서버에 연결하지 못했어요' }).waitFor();
|
||||
const toastSpacing = await networkToast.evaluate((el) => {
|
||||
const box = el.getBoundingClientRect(),
|
||||
text = el.querySelector('span').getBoundingClientRect(),
|
||||
icon = el.querySelector('button svg').getBoundingClientRect();
|
||||
return { left: text.left - box.left, right: box.right - icon.right };
|
||||
});
|
||||
assert(Math.abs(toastSpacing.left - toastSpacing.right) < 1, '모바일 토스트 양쪽 여백');
|
||||
const toastClose = await networkToast.getByRole('button', { name: '오류 닫기' }).boundingBox();
|
||||
assert(toastClose.width >= 44 && toastClose.height >= 44, '닫기 버튼 터치 영역 유지');
|
||||
await page.screenshot({ path: 'tests/e2e/error-toast-mobile.png' });
|
||||
await networkToast.getByRole('button', { name: '오류 닫기' }).click();
|
||||
await networkToast.waitFor({ state: 'hidden' });
|
||||
await page.unroute('**/api/auth/login');
|
||||
await more.click();
|
||||
const menuBounds = await page.getByRole('menu', { name: '더보기', exact: true }).boundingBox();
|
||||
assert(
|
||||
|
||||
Reference in New Issue
Block a user