Files
jobtrackingapp/docs/ui-modernisation/evidence/career/frontend/a3-letter-workflow-tests.json
T

2 lines
22 KiB
JSON

{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":1,"numPassedTests":55,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":55,"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":1793711405645,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":964,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-11 tailoring] generated metadata and known history enums follow locale while evidence, unknown metadata and dirty prose stay verbatim","invocations":1,"location":null,"numPassingAsserts":13,"retryReasons":[],"startAt":1793711411605,"status":"passed","title":"[P7-11 tailoring] generated metadata and known history enums follow locale while evidence, unknown metadata and dirty prose stay verbatim"},{"ancestorTitles":[],"duration":158,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"document package history is read-only and separates captured notes from answers","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793711412570,"status":"passed","title":"document package history is read-only and separates captured notes from answers"},{"ancestorTitles":[],"duration":104,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cv section shows the attached variant and the ones available to attach","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793711412728,"status":"passed","title":"cv section shows the attached variant and the ones available to attach"},{"ancestorTitles":[],"duration":226,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"attaching a different variant only re-points the application","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793711412833,"status":"passed","title":"attaching a different variant only re-points the application"},{"ancestorTitles":[],"duration":62,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cv section points at the builder when there are no variants","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793711413059,"status":"passed","title":"cv section points at the builder when there are no variants"},{"ancestorTitles":[],"duration":78,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"tailoring renders suggestions grouped by kind","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793711413122,"status":"passed","title":"tailoring renders suggestions grouped by kind"},{"ancestorTitles":[],"duration":76,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"tailoring asks for a career profile when there is none","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793711413200,"status":"passed","title":"tailoring asks for a career profile when there is none"},{"ancestorTitles":[],"duration":141,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"submitted package capture appends an immutable history entry","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793711413276,"status":"passed","title":"submitted package capture appends an immutable history entry"},{"ancestorTitles":[],"duration":258,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cover letter loads the current text and its history","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793711413417,"status":"passed","title":"cover letter loads the current text and its history"},{"ancestorTitles":[],"duration":535,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"editing marks the draft dirty and saving sends the new text","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793711413676,"status":"passed","title":"editing marks the draft dirty and saving sends the new text"},{"ancestorTitles":[],"duration":573,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"discarding returns to the saved text","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793711414212,"status":"passed","title":"discarding returns to the saved text"},{"ancestorTitles":[],"duration":436,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"restoring an old version calls the restore endpoint","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793711414785,"status":"passed","title":"restoring an old version calls the restore endpoint"},{"ancestorTitles":[],"duration":337,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"an empty cover letter offers the template and an empty history","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793711415222,"status":"passed","title":"an empty cover letter offers the template and an empty history"},{"ancestorTitles":[],"duration":343,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"the empty cover-letter template and rich-text controls follow Bokmål UI language","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793711415559,"status":"passed","title":"the empty cover-letter template and rich-text controls follow Bokmål UI language"},{"ancestorTitles":[],"duration":497,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"AI letter results are discarded when the source changes during generation","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793711415902,"status":"passed","title":"AI letter results are discarded when the source changes during generation"},{"ancestorTitles":[],"duration":438,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter Improve writing uses the existing reviewed action","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793711416399,"status":"passed","title":"letter Improve writing uses the existing reviewed action"},{"ancestorTitles":[],"duration":385,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter Suggest content uses the existing reviewed action","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793711416838,"status":"passed","title":"letter Suggest content uses the existing reviewed action"},{"ancestorTitles":[],"duration":363,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter Grammar check uses the existing reviewed action","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793711417223,"status":"passed","title":"letter Grammar check uses the existing reviewed action"},{"ancestorTitles":[],"duration":369,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter Shorter uses the existing reviewed action","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793711417586,"status":"passed","title":"letter Shorter uses the existing reviewed action"},{"ancestorTitles":[],"duration":361,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cancelling letter generation ignores its late response","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793711417955,"status":"passed","title":"cancelling letter generation ignores its late response"},{"ancestorTitles":[],"duration":846,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"AI cover letter suggestions use the linked CV and require explicit apply","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793711418316,"status":"passed","title":"AI cover letter suggestions use the linked CV and require explicit apply"},{"ancestorTitles":[],"duration":612,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter AI revalidates its recorded source before applying and refuses a cross-tab source conflict","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793711419162,"status":"passed","title":"letter AI revalidates its recorded source before applying and refuses a cross-tab source conflict"},{"ancestorTitles":[],"duration":953,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter AI language follows the saved document and updates the same local language draft","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793711419774,"status":"passed","title":"letter AI language follows the saved document and updates the same local language draft"},{"ancestorTitles":[],"duration":774,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter AI ignores a late source validation after local edit","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793711420727,"status":"passed","title":"letter AI ignores a late source validation after local edit"},{"ancestorTitles":[],"duration":708,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter AI ignores a late source validation after local cancel","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793711421501,"status":"passed","title":"letter AI ignores a late source validation after local cancel"},{"ancestorTitles":[],"duration":935,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter AI ignores a late source validation after local job change","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793711422209,"status":"passed","title":"letter AI ignores a late source validation after local job change"},{"ancestorTitles":[],"duration":1024,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a held letter Save prevents an in-flight AI validation from replacing the submitted snapshot","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793711423144,"status":"passed","title":"a held letter Save prevents an in-flight AI validation from replacing the submitted snapshot"},{"ancestorTitles":[],"duration":539,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-W06] rejecting an AI cover letter preserves the saved draft without a write","invocations":1,"location":null,"numPassingAsserts":8,"retryReasons":[],"startAt":1793711424168,"status":"passed","title":"[PRES-W06] rejecting an AI cover letter preserves the saved draft without a write"},{"ancestorTitles":[],"duration":55,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a failed load surfaces an error","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793711424707,"status":"passed","title":"a failed load surfaces an error"},{"ancestorTitles":[],"duration":221,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"application answer and recruiter drafts save from the dedicated workspace","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793711424762,"status":"passed","title":"application answer and recruiter drafts save from the dedicated workspace"},{"ancestorTitles":[],"duration":356,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"application package drafts can be cleared without deleting ordinary notes","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793711424983,"status":"passed","title":"application package drafts can be cleared without deleting ordinary notes"},{"ancestorTitles":[],"duration":1063,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed cover-letter saving retains editable dirty text and original Save recovery across a live locale change","invocations":1,"location":null,"numPassingAsserts":16,"retryReasons":[],"startAt":1793711425339,"status":"passed","title":"failed cover-letter saving retains editable dirty text and original Save recovery across a live locale change"},{"ancestorTitles":[],"duration":601,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed application-answer saving keeps both dirty drafts editable and retries only the original save payload","invocations":1,"location":null,"numPassingAsserts":14,"retryReasons":[],"startAt":1793711426402,"status":"passed","title":"failed application-answer saving keeps both dirty drafts editable and retries only the original save payload"},{"ancestorTitles":[],"duration":449,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed CV attachment leaves the current association and selector available for the original explicit action","invocations":1,"location":null,"numPassingAsserts":10,"retryReasons":[],"startAt":1793711427003,"status":"passed","title":"failed CV attachment leaves the current association and selector available for the original explicit action"},{"ancestorTitles":[],"duration":1329,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"dirty version restore cancels without a write and confirmed held restore appends history exactly once","invocations":1,"location":null,"numPassingAsserts":16,"retryReasons":[],"startAt":1793711427453,"status":"passed","title":"dirty version restore cancels without a write and confirmed held restore appends history exactly once"},{"ancestorTitles":[],"duration":990,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"held letter Save submits one snapshot and prevents an AI Apply from replacing its pending draft","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793711428783,"status":"passed","title":"held letter Save submits one snapshot and prevents an AI Apply from replacing its pending draft"},{"ancestorTitles":[],"duration":1399,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"held AI generation locks its controls and preserves captured action attribution after a later action selection","invocations":1,"location":null,"numPassingAsserts":9,"retryReasons":[],"startAt":1793711429773,"status":"passed","title":"held AI generation locks its controls and preserves captured action attribution after a later action selection"},{"ancestorTitles":[],"duration":945,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"capture, detail and download failures keep owned frozen history and recover only through their original explicit actions","invocations":1,"location":null,"numPassingAsserts":23,"retryReasons":[],"startAt":1793711431172,"status":"passed","title":"capture, detail and download failures keep owned frozen history and recover only through their original explicit actions"},{"ancestorTitles":[],"duration":1008,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"all five asset read owners expose GET-only recovery without false empty history or locale refetch","invocations":1,"location":null,"numPassingAsserts":34,"retryReasons":[],"startAt":1793711432117,"status":"passed","title":"all five asset read owners expose GET-only recovery without false empty history or locale refetch"},{"ancestorTitles":[],"duration":550,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"keyed job changes stop a late CV copy from attaching and never reuse another job's saved-copy recovery","invocations":1,"location":null,"numPassingAsserts":19,"retryReasons":[],"startAt":1793711433125,"status":"passed","title":"keyed job changes stop a late CV copy from attaching and never reuse another job's saved-copy recovery"},{"ancestorTitles":[],"duration":860,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"keyed job changes keep job B's answer drafts and callbacks independent of job A's late save","invocations":1,"location":null,"numPassingAsserts":11,"retryReasons":[],"startAt":1793711433675,"status":"passed","title":"keyed job changes keep job B's answer drafts and callbacks independent of job A's late save"},{"ancestorTitles":[],"duration":499,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a parent refresh cannot attach a newer revision to dirty application drafts","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793711434536,"status":"passed","title":"a parent refresh cannot attach a newer revision to dirty application drafts"},{"ancestorTitles":[],"duration":674,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cover-letter rejection (409) retains draft and source revision without a fresh read","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793711435035,"status":"passed","title":"cover-letter rejection (409) retains draft and source revision without a fresh read"},{"ancestorTitles":[],"duration":748,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cover-letter rejection (0) retains draft and source revision without a fresh read","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793711435710,"status":"passed","title":"cover-letter rejection (0) retains draft and source revision without a fresh read"},{"ancestorTitles":[],"duration":722,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter text preview shows unsaved formatting, hides the inactive narrow pane and never saves on switching","invocations":1,"location":null,"numPassingAsserts":11,"retryReasons":[],"startAt":1793711436458,"status":"passed","title":"letter text preview shows unsaved formatting, hides the inactive narrow pane and never saves on switching"},{"ancestorTitles":[],"duration":553,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter text preview renders unsafe Markdown as inert text","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793711437181,"status":"passed","title":"letter text preview renders unsafe Markdown as inert text"},{"ancestorTitles":[],"duration":1425,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter preview retains the draft after cancelled restore and failed save","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793711437734,"status":"passed","title":"letter preview retains the draft after cancelled restore and failed save"},{"ancestorTitles":[],"duration":1387,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"keyed letter job changes discard the old preview and ignore its late save","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793711439159,"status":"passed","title":"keyed letter job changes discard the old preview and ignore its late save"},{"ancestorTitles":[],"duration":436,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter workspace at 768px keeps one editor and its preview available without writing","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793711440547,"status":"passed","title":"letter workspace at 768px keeps one editor and its preview available without writing"},{"ancestorTitles":[],"duration":454,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter workspace at 1000px keeps one editor and its preview available without writing","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793711440984,"status":"passed","title":"letter workspace at 1000px keeps one editor and its preview available without writing"},{"ancestorTitles":[],"duration":447,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter workspace at 1440px keeps one editor and its preview available without writing","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793711441438,"status":"passed","title":"letter workspace at 1440px keeps one editor and its preview available without writing"},{"ancestorTitles":[],"duration":826,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter preview controls follow Bokmål without translating or saving the local draft","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793711441885,"status":"passed","title":"letter preview controls follow Bokmål without translating or saving the local draft"},{"ancestorTitles":[],"duration":1854,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"document settings are dirty local drafts until explicit Save, and Discard restores saved details","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793711442711,"status":"passed","title":"document settings are dirty local drafts until explicit Save, and Discard restores saved details"},{"ancestorTitles":[],"duration":1405,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter PDF awaits durable settings and blocks duplicate exports; failed save never exports","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793711444565,"status":"passed","title":"letter PDF awaits durable settings and blocks duplicate exports; failed save never exports"},{"ancestorTitles":[],"duration":3793,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter document preview ignores stale responses, keeps last good HTML on failure and retries without saving","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793711445970,"status":"passed","title":"letter document preview ignores stale responses, keeps last good HTML on failure and retries without saving"}],"endTime":1793711449766,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\application-assets.test.tsx","startTime":1793711407135,"status":"passed","summary":""}],"wasInterrupted":false}