Files
jobtrackingapp/docs/ui-modernisation/visual-correction/PUBLIC_LOCALE_TESTS.json
T

2 lines
34 KiB
JSON

{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":5,"numPassedTests":80,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":5,"numTotalTests":80,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1793752013400,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":["public auth presentation"],"duration":279,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation announces a pending login result in the current UI language without replay","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793752016931,"status":"passed","title":"announces a pending login result in the current UI language without replay"},{"ancestorTitles":["public auth presentation"],"duration":83,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation announces a pending request result in the current UI language without replay","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793752017211,"status":"passed","title":"announces a pending request result in the current UI language without replay"},{"ancestorTitles":["public auth presentation"],"duration":112,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation announces a pending reset result in the current UI language without replay","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793752017294,"status":"passed","title":"announces a pending reset result in the current UI language without replay"},{"ancestorTitles":["public auth presentation"],"duration":85,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation translates existing client validation on /login without submitting again","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752017406,"status":"passed","title":"translates existing client validation on /login without submitting again"},{"ancestorTitles":["public auth presentation"],"duration":74,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation translates existing client validation on /register without submitting again","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752017491,"status":"passed","title":"translates existing client validation on /register without submitting again"},{"ancestorTitles":["public auth presentation"],"duration":38,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation translates existing client validation on /forgot-password without submitting again","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752017565,"status":"passed","title":"translates existing client validation on /forgot-password without submitting again"},{"ancestorTitles":["public auth presentation"],"duration":68,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation translates existing client validation on /reset-password?email=synthetic%40example.test&token=synthetic without submitting again","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752017604,"status":"passed","title":"translates existing client validation on /reset-password?email=synthetic%40example.test&token=synthetic without submitting again"},{"ancestorTitles":["public auth presentation"],"duration":106,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation translates a failed login fallback while keeping its submitted draft and request count","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793752017672,"status":"passed","title":"translates a failed login fallback while keeping its submitted draft and request count"},{"ancestorTitles":["public auth presentation"],"duration":38,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation translates a failed request fallback while keeping its submitted draft and request count","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793752017778,"status":"passed","title":"translates a failed request fallback while keeping its submitted draft and request count"},{"ancestorTitles":["public auth presentation"],"duration":64,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation translates a failed reset fallback while keeping its submitted draft and request count","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793752017816,"status":"passed","title":"translates a failed reset fallback while keeping its submitted draft and request count"},{"ancestorTitles":["public auth presentation"],"duration":127,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation translates an MFA rate limit without another challenge or losing the entered code","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793752017881,"status":"passed","title":"translates an MFA rate limit without another challenge or losing the entered code"},{"ancestorTitles":["public auth presentation"],"duration":96,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation lets a signed-out user choose a persisted UI language without discarding a sign-in draft","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793752018008,"status":"passed","title":"lets a signed-out user choose a persisted UI language without discarding a sign-in draft"},{"ancestorTitles":["public auth presentation"],"duration":42,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation names the password field for login intent and retains its autocomplete contract","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018104,"status":"passed","title":"names the password field for login intent and retains its autocomplete contract"},{"ancestorTitles":["public auth presentation"],"duration":45,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation names the password field for register intent and retains its autocomplete contract","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018146,"status":"passed","title":"names the password field for register intent and retains its autocomplete contract"},{"ancestorTitles":["public auth presentation"],"duration":32,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation provides one named main landmark and H1 for password request","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018191,"status":"passed","title":"provides one named main landmark and H1 for password request"},{"ancestorTitles":["public auth presentation"],"duration":32,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation provides one named main landmark and H1 for password reset","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018223,"status":"passed","title":"provides one named main landmark and H1 for password reset"},{"ancestorTitles":["public auth presentation"],"duration":30,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation provides one named main landmark and H1 for email verification","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018255,"status":"passed","title":"provides one named main landmark and H1 for email verification"},{"ancestorTitles":["public auth presentation"],"duration":31,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation provides one named main landmark and H1 for email change","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018285,"status":"passed","title":"provides one named main landmark and H1 for email change"},{"ancestorTitles":["public auth presentation"],"duration":31,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation provides one named main landmark and H1 for Microsoft recovery","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018316,"status":"passed","title":"provides one named main landmark and H1 for Microsoft recovery"},{"ancestorTitles":["public auth presentation"],"duration":28,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation announces the pending confirmation without an unnamed progressbar: false","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018347,"status":"passed","title":"announces the pending confirmation without an unnamed progressbar: false"},{"ancestorTitles":["public auth presentation"],"duration":30,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation announces the pending confirmation without an unnamed progressbar: true","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018375,"status":"passed","title":"announces the pending confirmation without an unnamed progressbar: true"},{"ancestorTitles":["public auth presentation"],"duration":68,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation retains the entered reset email and a durable error in the page when the command fails","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793752018406,"status":"passed","title":"retains the entered reset email and a durable error in the page when the command fails"},{"ancestorTitles":["public auth presentation"],"duration":104,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation retains both new-password fields and the decoded recovery token after a rejected reset","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793752018474,"status":"passed","title":"retains both new-password fields and the decoded recovery token after a rejected reset"},{"ancestorTitles":["public auth presentation"],"duration":91,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation keeps a rejected local sign-in beside the retained fields without navigating","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793752018578,"status":"passed","title":"keeps a rejected local sign-in beside the retained fields without navigating"},{"ancestorTitles":["public auth presentation"],"duration":76,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation keeps the reset-request action name while announcing an in-flight command","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018669,"status":"passed","title":"keeps the reset-request action name while announcing an in-flight command"},{"ancestorTitles":["public auth presentation"],"duration":62,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation announces an in-flight local sign-in while preserving its action name","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018745,"status":"passed","title":"announces an in-flight local sign-in while preserving its action name"},{"ancestorTitles":["public auth presentation"],"duration":46,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation announces a pending password save without changing its payload or successful destination","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793752018807,"status":"passed","title":"announces a pending password save without changing its payload or successful destination"},{"ancestorTitles":["public auth presentation"],"duration":31,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation focuses the first invalid local-login field and associates its explanation","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018853,"status":"passed","title":"focuses the first invalid local-login field and associates its explanation"},{"ancestorTitles":["public auth presentation"],"duration":31,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation focuses the invalid new password without losing confirmation input","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793752018884,"status":"passed","title":"focuses the invalid new password without losing confirmation input"},{"ancestorTitles":["public auth presentation"],"duration":13,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation focuses and explains the invalid reset-request email without sending a command","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018915,"status":"passed","title":"focuses and explains the invalid reset-request email without sending a command"},{"ancestorTitles":["public auth presentation"],"duration":59,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation replaces previous reset-request success when a later request fails","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793752018928,"status":"passed","title":"replaces previous reset-request success when a later request fails"},{"ancestorTitles":["public auth presentation"],"duration":39,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation does not assert optional authentication while login configuration is unresolved","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752018987,"status":"passed","title":"does not assert optional authentication while login configuration is unresolved"},{"ancestorTitles":["public auth presentation"],"duration":40,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation does not assert optional authentication while register configuration is unresolved","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752019026,"status":"passed","title":"does not assert optional authentication while register configuration is unresolved"},{"ancestorTitles":["public auth presentation"],"duration":103,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"public auth presentation offers a read-only configuration retry while retaining entered sign-in fields","invocations":1,"location":null,"numPassingAsserts":9,"retryReasons":[],"startAt":1793752019066,"status":"passed","title":"offers a read-only configuration retry while retaining entered sign-in fields"}],"endTime":1793752019170,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\public-auth-presentation.test.tsx","startTime":1793752014370,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["LoginPage"],"duration":63,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage provides a main landmark and level-one heading for login","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752019926,"status":"passed","title":"provides a main landmark and level-one heading for login"},{"ancestorTitles":["LoginPage"],"duration":67,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage provides a main landmark and level-one heading for register","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752019989,"status":"passed","title":"provides a main landmark and level-one heading for register"},{"ancestorTitles":["LoginPage"],"duration":92,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage renders a dedicated registration screen and explains when registration is disabled","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793752020056,"status":"passed","title":"renders a dedicated registration screen and explains when registration is disabled"},{"ancestorTitles":["LoginPage"],"duration":83,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage renders one conventional sign-in card with enabled provider alternatives","invocations":1,"location":null,"numPassingAsserts":9,"retryReasons":[],"startAt":1793752020148,"status":"passed","title":"renders one conventional sign-in card with enabled provider alternatives"},{"ancestorTitles":["LoginPage"],"duration":416,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage accepts a username and reports invalid credentials without changing routes","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752020231,"status":"passed","title":"accepts a username and reports invalid credentials without changing routes"},{"ancestorTitles":["LoginPage"],"duration":94,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage handles Microsoft cancellation without exchanging or navigating","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752020648,"status":"passed","title":"handles Microsoft cancellation without exchanging or navigating"},{"ancestorTitles":["LoginPage"],"duration":140,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage completes the Microsoft provider return through the hardened exchange endpoint","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793752020742,"status":"passed","title":"completes the Microsoft provider return through the hardened exchange endpoint"},{"ancestorTitles":["LoginPage"],"duration":138,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage completes a Google credential return without account-linking copy","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793752020882,"status":"passed","title":"completes a Google credential return without account-linking copy"},{"ancestorTitles":["LoginPage"],"duration":278,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage posts remember-me preference without storing an auth token in browser storage","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793752021020,"status":"passed","title":"posts remember-me preference without storing an auth token in browser storage"},{"ancestorTitles":["LoginPage"],"duration":695,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage does not complete login when registration requires email verification","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752021298,"status":"passed","title":"does not complete login when registration requires email verification"},{"ancestorTitles":["LoginPage"],"duration":170,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage rejects an unsafe post-login redirect path","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752021993,"status":"passed","title":"rejects an unsafe post-login redirect path"},{"ancestorTitles":["LoginPage"],"duration":542,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"https://evil.example/analytics\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752022163,"status":"passed","title":"uses the safe fallback for the untrusted return target \"https://evil.example/analytics\""},{"ancestorTitles":["LoginPage"],"duration":447,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"//evil.example/analytics\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752022705,"status":"passed","title":"uses the safe fallback for the untrusted return target \"//evil.example/analytics\""},{"ancestorTitles":["LoginPage"],"duration":493,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/\\t/evil.example\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752023152,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/\\t/evil.example\""},{"ancestorTitles":["LoginPage"],"duration":510,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/%2f%2fevil.example\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752023645,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/%2f%2fevil.example\""},{"ancestorTitles":["LoginPage"],"duration":494,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/%252f%252fevil.example\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752024155,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/%252f%252fevil.example\""},{"ancestorTitles":["LoginPage"],"duration":496,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/%5cevil.example\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752024649,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/%5cevil.example\""},{"ancestorTitles":["LoginPage"],"duration":465,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/analytics?months=%ZZ\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752025145,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/analytics?months=%ZZ\""},{"ancestorTitles":["LoginPage"],"duration":530,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/jobs/../login\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752025610,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/jobs/../login\""},{"ancestorTitles":["LoginPage"],"duration":418,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/%6cogin\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752026140,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/%6cogin\""},{"ancestorTitles":["LoginPage"],"duration":571,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/register\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752026558,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/register\""},{"ancestorTitles":["LoginPage"],"duration":403,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/analytics%0a\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752027129,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/analytics%0a\""},{"ancestorTitles":["LoginPage"],"duration":760,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/analytics?months=6\\n\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752027532,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/analytics?months=6\\n\""},{"ancestorTitles":["LoginPage"],"duration":725,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/LOGIN\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752028292,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/LOGIN\""},{"ancestorTitles":["LoginPage"],"duration":711,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage uses the safe fallback for the untrusted return target \"/%4cOGIN\"","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752029017,"status":"passed","title":"uses the safe fallback for the untrusted return target \"/%4cOGIN\""},{"ancestorTitles":["LoginPage"],"duration":693,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage preserves encoded internal query and fragment without decoding the navigation target","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752029728,"status":"passed","title":"preserves encoded internal query and fragment without decoding the navigation target"},{"ancestorTitles":["LoginPage"],"duration":679,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage restores valid owned-workspace navigation context separately from the sign-in destination","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752030421,"status":"passed","title":"restores valid owned-workspace navigation context separately from the sign-in destination"},{"ancestorTitles":["LoginPage"],"duration":399,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage does not replay an unsafe nested return context after authentication","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752031100,"status":"passed","title":"does not replay an unsafe nested return context after authentication"},{"ancestorTitles":["LoginPage"],"duration":785,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage abandons prior return context on the established account/session disposal entry","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752031499,"status":"passed","title":"abandons prior return context on the established account/session disposal entry"},{"ancestorTitles":["LoginPage"],"duration":527,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage opens the separate forgot-password page with the typed email prefilled","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752032284,"status":"passed","title":"opens the separate forgot-password page with the typed email prefilled"},{"ancestorTitles":["LoginPage"],"duration":907,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage shows the 2FA code step when login requires two-factor, then proceeds like a normal login on success","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793752032811,"status":"passed","title":"shows the 2FA code step when login requires two-factor, then proceeds like a normal login on success"},{"ancestorTitles":["LoginPage"],"duration":879,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage shows a clear message when the 2FA challenge is rate-limited","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752033718,"status":"passed","title":"shows a clear message when the 2FA challenge is rate-limited"},{"ancestorTitles":["LoginPage"],"duration":4753,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"LoginPage offers a resend-verification action when login reports the account is not verified","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793752034597,"status":"passed","title":"offers a resend-verification action when login reports the account is not verified"}],"endTime":1793752039352,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\login-page.test.tsx","startTime":1793752019181,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":60,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-E08] page and nested section headings retain full names and independent actions","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793752040078,"status":"passed","title":"[PRES-E08] page and nested section headings retain full names and independent actions"},{"ancestorTitles":[],"duration":61,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-E08] section composition retains loaded, error/retry and empty child semantics","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793752040138,"status":"passed","title":"[PRES-E08] section composition retains loaded, error/retry and empty child semantics"}],"endTime":1793752040200,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\page-layout.test.tsx","startTime":1793752039361,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":86,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"legacy Microsoft recovery requires the emailed proof and a fresh matching Microsoft token","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793752040918,"status":"passed","title":"legacy Microsoft recovery requires the emailed proof and a fresh matching Microsoft token"},{"ancestorTitles":[],"duration":46,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"pending Microsoft recovery keeps a named action and announces progress before the real confirmation boundary","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793752041004,"status":"passed","title":"pending Microsoft recovery keeps a named action and announces progress before the real confirmation boundary"}],"endTime":1793752041050,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\microsoft-legacy-relink-page.test.tsx","startTime":1793752040208,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["VerifyEmailPage"],"duration":44,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"VerifyEmailPage confirms the account and shows success when the link is valid","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793752041754,"status":"passed","title":"confirms the account and shows success when the link is valid"},{"ancestorTitles":["VerifyEmailPage"],"duration":29,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"VerifyEmailPage shows an error when the link is invalid or expired","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793752041798,"status":"passed","title":"shows an error when the link is invalid or expired"},{"ancestorTitles":["VerifyEmailPage"],"duration":31,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"VerifyEmailPage shows an error without calling the API when the link is missing userId/token","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793752041827,"status":"passed","title":"shows an error without calling the API when the link is missing userId/token"},{"ancestorTitles":["VerifyEmailPage"],"duration":32,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"VerifyEmailPage confirms a pending email change and requires a fresh sign-in","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793752041858,"status":"passed","title":"confirms a pending email change and requires a fresh sign-in"},{"ancestorTitles":["VerifyEmailPage"],"duration":73,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"VerifyEmailPage changing UI language never resubmits a pending confirmation: emailChange=false","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793752041890,"status":"passed","title":"changing UI language never resubmits a pending confirmation: emailChange=false"},{"ancestorTitles":["VerifyEmailPage"],"duration":32,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"VerifyEmailPage changing UI language never resubmits a pending confirmation: emailChange=true","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793752041963,"status":"passed","title":"changing UI language never resubmits a pending confirmation: emailChange=true"},{"ancestorTitles":["VerifyEmailPage"],"duration":24,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"VerifyEmailPage localizes missing-link errors without a confirmation request","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752041995,"status":"passed","title":"localizes missing-link errors without a confirmation request"},{"ancestorTitles":["VerifyEmailPage"],"duration":31,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"VerifyEmailPage localizes a failed confirmation fallback without retrying the one-time command","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752042019,"status":"passed","title":"localizes a failed confirmation fallback without retrying the one-time command"},{"ancestorTitles":["VerifyEmailPage"],"duration":26,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"VerifyEmailPage does not let an older confirmation replace a different flow missing-link error","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793752042050,"status":"passed","title":"does not let an older confirmation replace a different flow missing-link error"}],"endTime":1793752042077,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\verify-email-page.test.tsx","startTime":1793752041058,"status":"passed","summary":""}],"wasInterrupted":false}