/users/edit
e2e/user_edit.spec.ts の「基本情報 tab is active by default」が毎回失敗していた件を、テスト側の修正で解消した。アプリと seed は変更していない。 Playwright 1.64.1 の E2E 検証(#4131)で見つかった既存の失敗だった。
e2e/user_edit.spec.ts
e9ea7a0a
053e0e96
6696b604
novisteps_guest
「username is displayed」は、基本情報タブが開いていなくても成功していた。
Tabs
AtCoderVerificationForm.svelte
guest
aria-selected="true"
tabpanel
Alice
prisma/users.ts
?tab=atcoder
user_edit.spec.ts
--repeat-each=3
src/routes/users/edit/+page.svelte
shouldOpenAtCoderTab
atCoderAccount.isValidated
true
atCoderHandle
Merge pull request #4187 from AtCoder-NoviSteps/#4186
Activity
KATO-Hiro commentedon Oct 18, 2026
/users/editの E2E: 既定タブの検証を seed に追従させる(完了記録)結論
e2e/user_edit.spec.tsの「基本情報 tab is active by default」が毎回失敗していた件を、テスト側の修正で解消した。アプリと seed は変更していない。Playwright 1.64.1 の E2E 検証(#4131)で見つかった既存の失敗だった。
原因
/users/editは、AtCoder 認証済みのユーザーには「AtCoder IDを設定」タブを開く。これはe9ea7a0a(2026-03-27)で入った意図どおりの仕様。053e0e96で書かれ、当時の guest は未認証だった。6696b604(2026-09-19)で seed の guest を認証済み(novisteps_guest)にしたため、期待値が合わなくなった。弱いテストだった理由
「username is displayed」は、基本情報タブが開いていなくても成功していた。
Tabsは選択中のタブの中身だけを描画する。AtCoderVerificationForm.svelte)にも「ユーザ名」の入力欄がある。テストはそちらを見つけてguestに一致していた。aria-selected="true"を確かめてから値を見る。描画されるパネルは常に1つなので、tabpanelで範囲を絞っても区別できない。意思決定
Aliceを使う:prisma/users.tsで、未認証の経路を検証するために未認証のまま残されている seed ユーザー。?tab=atcoderの分岐は追加しない: 既定タブの修正という範囲を超えるため(YAGNI)。検証
user_edit.spec.tsを--repeat-each=3で実行し、15 件すべて成功した。E2E 全体は 105 件成功・1 スキップ(既存の条件付き skip)。src/routes/users/edit/+page.svelte)shouldOpenAtCoderTabからatCoderAccount.isValidatedを外すshouldOpenAtCoderTabを常にtrueにする注意点
Aliceを手動で AtCoder 認証すると、未認証側のテストが失敗する。seed はatCoderHandleを持つユーザー(admin・guest)だけを認証済みにする。Merge pull request #4187 from AtCoder-NoviSteps/#4186