test(i18n): retain import and conversion count evidence
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
# Import and conversion count wording
|
||||
|
||||
Source/verifier44112c7c, baseline50e16ff2. Existing plural keys remain unchanged. New `importedJob` and `convertedRow` keys select the one-item form in EN/NB; zero/multiple values retain existing plural wording. Import payloads, partial-success reporting, Last import count, CSV parser and native download bytes are unchanged. These are two finite literal-key choices, not unbounded runtime translation keys.
|
||||
|
||||
PASSED:50 cases/six suites (import/export lifetime, Settings lifetime, picker activation, catalogue parity/placeholders and language provider). Four new language-table cases cover zero/one/two conversion and one/two import messages; earlier35/39 cases overlap. RED receipts retain the two conversion and two import language failures before the fix. Build/TypeScript and scoped ESLint passed.
|
||||
|
||||
PASSED:two paired actual-UI profiles (390/Bokmål/dark touch and1440/English/light mouse), each converting zero/one/two rows. Six native JSON downloads and six accessibility scans passed, with exact output row counts/Unicode and visible singular/plural messages. No API writes, page exceptions or unavailable fixture reads; fonts blocked. This is a finite copy-focused matrix, not the full export/session matrix. The earlier36-download package retains its original source identity. Mobile Bokmål singular feedback was visually inspected.
|
||||
|
||||
Evidence: `evidence/import-conversion-counts/`; source/evidence/export content bindings: `IMPORT_CONVERSION_COUNT_SOURCE_MANIFEST.json`. Native gzip receipts preserve downloaded bytes. No physical CV/PDF, API, dependency, schema or additional locale changed.
|
||||
|
||||
Rollback reverts44112c7c and reruns affected copy/catalogue checks. Full visible-text, native-language/European, physical-device, integrated security and final release acceptance remain open. Historical188 dynamic reviews remain historical; this report accounts for the two changed finite choices on the current source.
|
||||
@@ -0,0 +1,126 @@
|
||||
{
|
||||
"sourceContentCommit": "44112c7cbb480f96e0c9ca7a5dbed35650aa3a53",
|
||||
"policy": "LF-normalised source and text evidence; raw PNG/gzip/zip/export. Content binding for offline UI verification; release candidate/image identity remains separate.",
|
||||
"sources": {
|
||||
"job-tracker-ui/src/App.tsx": "e0c50ec92954b90cf62b9d8b8e0d5b5802c2408e577e5e255a8d78c3dfdf7135",
|
||||
"job-tracker-ui/src/components/SettingsView.tsx": "250b80b2d18f82ab63e7341c0779380345f386acc0d89161064d8e41439636d2",
|
||||
"job-tracker-ui/src/components/ImportExportJobs.tsx": "1f3a9ed936bccd35e69bf05449f3615af5b7e8f3bf1fb52b99b39a3ae6cb253b",
|
||||
"job-tracker-ui/src/sessionBoundary.ts": "09edca77c98294818d2ad0c409ce595f1b6ca0c1f60419fc1078b70f96f5b7b9",
|
||||
"job-tracker-ui/src/api.ts": "f75ac7be07a743396843ddad5fd3371e2d5fd3d9c5d933e09e26fae2159f2378",
|
||||
"job-tracker-ui/src/i18n/I18nProvider.tsx": "dfa8d95510a7dd872e1b9bbddf9bb4ab31da4d4b5e932b0099397d11e08ad108",
|
||||
"job-tracker-ui/src/i18n/translations.ts": "1bef579f8bb593ed3a888780e9d3472531f93b5602a6e92d9df8fa062060c1e9",
|
||||
"job-tracker-ui/src/job-export-lifetime.test.tsx": "c49f392f8fb15ade6f87bd1515f124432a3768c9b9ff0b5a3e4fd71bdeefa06c",
|
||||
"job-tracker-ui/src/job-import.test.tsx": "2baa932bb464490d12cddfafcbea2d19795725519f380d7db803369a71c0288d",
|
||||
"job-tracker-ui/src/settings-import-lifetime.test.tsx": "24af2a5954533087ddbff40659ff9f8dcf70805435dca772314c2be7d8bf6133",
|
||||
"job-tracker-ui/src/file-picker-activation.test.tsx": "accb87f94a7b36373eec6583a391a17ede7e7779cf18d81d4a86b43e0bd6afbe",
|
||||
"job-tracker-ui/scripts/verify-job-export-lifetime.mjs": "bea2e5a04b7cad4f2af6b1dd2e19c505261ab171dcd686b6662332aa2b838646",
|
||||
"job-tracker-ui/src/translation-catalogue.test.ts": "f20e8099f2c4dda76574ea3ed1e95b743eef5da82507d7cbc3f9925d52356b98",
|
||||
"job-tracker-ui/src/i18n-provider.test.tsx": "520b8559ebd0c206649008c98705c24bd8caac7e00a642984a75b11f7d851fbe",
|
||||
"job-tracker-ui/package.json": "3745394e406cefa40d30a87e840bccb359be147bac6ffba736e2ae90898a8626",
|
||||
"job-tracker-ui/package-lock.json": "bf31e90d7af03e8af059db2aaf893925b9e8881a30a1688034ed88ef45d4fcab"
|
||||
},
|
||||
"evidence": {
|
||||
"docs/i18n/evidence/import-conversion-counts/1440-en-light-converted-0.gz": "50c15d921df28492e2d9bf2da5d1cd5c78ee416bdcf478074db63d76d2381cba",
|
||||
"docs/i18n/evidence/import-conversion-counts/1440-en-light-converted-1.gz": "2117b71f51b07c27587ff99d40acd9ef43b538a62658ce52ea060ab4a3c2cba5",
|
||||
"docs/i18n/evidence/import-conversion-counts/1440-en-light-converted-2.gz": "7f3553fe748c77febb7f3b312d152002e44c1608e05e99b05b7865dac0154326",
|
||||
"docs/i18n/evidence/import-conversion-counts/1440-en-light-count-0.png": "06b4cae9dcda200767c296e923ed5e8eac7bdb53721c1f55ffda9bb0b7c06d63",
|
||||
"docs/i18n/evidence/import-conversion-counts/1440-en-light-count-1.png": "7c764a401d219d2bd5452bea3380067d396ca0ffc052b06bdd2bfa705c346aea",
|
||||
"docs/i18n/evidence/import-conversion-counts/1440-en-light-count-2.png": "8b901708e2b8c8bea11765970539b0d28383e30a5243dc6ddd4c59ddb8a87135",
|
||||
"docs/i18n/evidence/import-conversion-counts/390-nb-dark-converted-0.gz": "50c15d921df28492e2d9bf2da5d1cd5c78ee416bdcf478074db63d76d2381cba",
|
||||
"docs/i18n/evidence/import-conversion-counts/390-nb-dark-converted-1.gz": "2117b71f51b07c27587ff99d40acd9ef43b538a62658ce52ea060ab4a3c2cba5",
|
||||
"docs/i18n/evidence/import-conversion-counts/390-nb-dark-converted-2.gz": "7f3553fe748c77febb7f3b312d152002e44c1608e05e99b05b7865dac0154326",
|
||||
"docs/i18n/evidence/import-conversion-counts/390-nb-dark-count-0.png": "05b956b3267ccc9e1c928aaa987241c2d4f9db9f058a5d5de0124d1dc261d10c",
|
||||
"docs/i18n/evidence/import-conversion-counts/390-nb-dark-count-1.png": "cc3403c35dcb011bde0a68d2b713c65a237abc6bd6fb449b0bbdb7029b32b3fb",
|
||||
"docs/i18n/evidence/import-conversion-counts/390-nb-dark-count-2.png": "9292a818d04ccd97f709d1b6289b4cafbdf781b09a3e8156ed9cf0304a288154",
|
||||
"docs/i18n/evidence/import-conversion-counts/BROWSER.json": "b7e83a199c70ff58c93211a1d04da0630470927b3f4c22cf6cc8a4056b10d871",
|
||||
"docs/i18n/evidence/import-conversion-counts/BROWSER.txt": "be89f2d03cc906ed953e6f6fb4f90a936b67633b7947d8d59a5c091a0ee8a649",
|
||||
"docs/i18n/evidence/import-conversion-counts/BUILD.txt": "b5633b37143e111a2fd97dc5b7b0fc244c7587fc5c0c11c245f6c4c1f2e98dbc",
|
||||
"docs/i18n/evidence/import-conversion-counts/LINT.txt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"docs/i18n/evidence/import-conversion-counts/RED_CONVERSION.txt": "411b9f558921d6f85643511b433c82b9289b94c874ca267a192040a965f70170",
|
||||
"docs/i18n/evidence/import-conversion-counts/RED_IMPORT.txt": "148548165d5b601ea43c765a07d7f61f2d7b1fb5264377672a0bdd6c8fe9a32b",
|
||||
"docs/i18n/evidence/import-conversion-counts/TESTS.txt": "a1efa7de41b86d6d48b70c97da55e9ef0e9de9fcce4ca9d5036787bcc198b8d7",
|
||||
"docs/i18n/IMPORT_CONVERSION_COUNTS.md": "a6fcfb1b918bfd0cd9ba235d27675a8829621265f83d96dc09b93c792bbfdcba"
|
||||
},
|
||||
"export": {
|
||||
"job-tracker-ui/out/404.html": "1ca05af72181de6df1a2b0c07fe5d151fb058344c07e204a78648db4ec1c6e64",
|
||||
"job-tracker-ui/out/__next.__PAGE__.txt": "838e2b173fe18664741187b814d92cb9006a97f70f2e61d866e88090dbe531c8",
|
||||
"job-tracker-ui/out/__next._full.txt": "dae993f53affb686262f8ae8e75718ef05b43cdf4b9b7391376fe8ca4fe41ccf",
|
||||
"job-tracker-ui/out/__next._tree.txt": "ce646215db5c8507b39e758174f959ab2416b6d8fbe67b5f4d14103db564fc13",
|
||||
"job-tracker-ui/out/_next/static/chunks/0--vhwu1kmht5.js": "426fae50ff0485fb6af8e28a7d1751dfaefcb6118a24dab39b3a7099d38c18dd",
|
||||
"job-tracker-ui/out/_next/static/chunks/0-_aq6ipzcshj.js": "39f90c215bf52aef6274ed3dcc0f8af32e21a37fe8845b3bca0d6ea60da6a8c2",
|
||||
"job-tracker-ui/out/_next/static/chunks/05rgc5zsm9p5i.js": "1da7305ab9d8e95795327cce11a16db4c56d90429d7e1dea4c4088c085f20d69",
|
||||
"job-tracker-ui/out/_next/static/chunks/0afg9bl7a8pj5.js": "bd0cec651950d5007f84273af5be8d8255806da4db54238f5c512442c7449459",
|
||||
"job-tracker-ui/out/_next/static/chunks/0ah1fzqmie05a.js": "5c65505a7dcbac63ac71d254e619a4c800943bfb4fa16cd40c10cdbe7e9b6e31",
|
||||
"job-tracker-ui/out/_next/static/chunks/0b3nrgli_w65x.js": "bf23e1a05a97de3a950e76eb206b2fbbe9003460891ecd5ab091155aa385badc",
|
||||
"job-tracker-ui/out/_next/static/chunks/0bdt7ln111t48.js": "6184b1a61f22e2a640c17941634fdc75678ce93d142848d9f07f163e0d1fd201",
|
||||
"job-tracker-ui/out/_next/static/chunks/0cz1d0mv5g_q7.js": "0973c1d64c88adc8e3c950410cb58b288f72118d5965b78049438deb8f2f9683",
|
||||
"job-tracker-ui/out/_next/static/chunks/0og1crk78cn4a.js": "aa5031605cb2f46a612e94d9d71473f48a71aa4a5acfe8fe5f2dfc66d951ab40",
|
||||
"job-tracker-ui/out/_next/static/chunks/0pvbhqkwp15b6.js": "f210cc1a8c203de6008b6137c0324afabb33f233c1ab56800fe9e6c963c0c34a",
|
||||
"job-tracker-ui/out/_next/static/chunks/0q20g9o8x-k8z.js": "3d4d9086985419aa8866b032158196c774acb8bf318f3c8245508c8daa9c5148",
|
||||
"job-tracker-ui/out/_next/static/chunks/0q_pwu9jxv4-d.js": "42a43b3d7245a413c7c29b4cbe87823037a6dbc637e2e282c92405470e0f575d",
|
||||
"job-tracker-ui/out/_next/static/chunks/0qxm1h9uqfgpa.js": "a5af3192c76f3b8dac5c17afbe90d96a5c7652810ce69b7f39fbcf1f1231fd8c",
|
||||
"job-tracker-ui/out/_next/static/chunks/0ta69108309yl.js": "07b8069d13ddaf7aaa24daf1070144a2e98b444ca162b628b8bfb8e1068d2967",
|
||||
"job-tracker-ui/out/_next/static/chunks/0v1q0j141eyli.js": "8180d4c9dae8da28079152624739b603d6d63c62554015b1bf9a82cd5bbdc5fb",
|
||||
"job-tracker-ui/out/_next/static/chunks/0vo4_3wcjs1gy.js": "5e4d305fc346f9ecf48328ab0416397d8bd7c100f0de99dea16d2a1463b386a9",
|
||||
"job-tracker-ui/out/_next/static/chunks/0zep-wknuuxm3.js": "cc13d0dc908a4b047a165a50a226b787ee7707135b3f2c5894aab8cbd618a29c",
|
||||
"job-tracker-ui/out/_next/static/chunks/1-8ykqf0n88k2.js": "eb208124ec838cb9a9ae366745bd81fba1c35eeceac128c567bbb7977ebb6a2e",
|
||||
"job-tracker-ui/out/_next/static/chunks/10qxrc5f9nore.js": "512bfc44077703fa4e03e15ca48acf3501231c5e2cb9bf7beb2ec30224fe287b",
|
||||
"job-tracker-ui/out/_next/static/chunks/1435in_k_-dhc.js": "4757476512d5c4dd25f9264a18b304ed4824b23aff1c09e134fcbff21d9c36b6",
|
||||
"job-tracker-ui/out/_next/static/chunks/145oicobmjvm7.js": "d6bbbdeed1381652dc7412e5ce673a077579ecd5cee8934cb6b533c814098764",
|
||||
"job-tracker-ui/out/_next/static/chunks/14e7ovj0s3elm.js": "070567dd4d23fb9fa0b9ba132185a697af6578045d43b2b1c7bbb2a1594d935d",
|
||||
"job-tracker-ui/out/_next/static/chunks/15saa2mllmdp7.js": "6664972f61e1669d2ca1ed9af467df87d316efeadf59496ce8c68d8c84fd7512",
|
||||
"job-tracker-ui/out/_next/static/chunks/16lfece6cnlln.js": "716363ba044f30b0e70440756b4e5eafa2d25f2e1628e855e3bc4ab9eabee3d3",
|
||||
"job-tracker-ui/out/_next/static/chunks/188aj_hr_p4eq.js": "f10e4af24bebfb8b9e7306a5688ef45f07f280c920dc01815ac578fbe18e2182",
|
||||
"job-tracker-ui/out/_next/static/chunks/1avt7t-z_q80r.js": "8cbd919d971eaf46e508f9e6b073a9183a29457c3c42c9566ec74b018894c061",
|
||||
"job-tracker-ui/out/_next/static/chunks/1ke8pzecwofrg.css": "32e9ab963ebadebcbe2c68dffb24cfbfc8cc24255ad91b48b7941fc777bf7439",
|
||||
"job-tracker-ui/out/_next/static/chunks/1pcns9f7sl8yk.js": "1a1b889438e68c64984964627315e806548b753c40c6c012c706ca03edc3dfe5",
|
||||
"job-tracker-ui/out/_next/static/chunks/1req80b9jj38r.js": "eee4d2e3789e1215195dba99ad0f09d34f8c83da848322b76054722233e9dae3",
|
||||
"job-tracker-ui/out/_next/static/chunks/1svx1qnrof8xa.js": "111c502a1ca939f7bf971ed1b3e3cda011b130c313a7f7df742ae4b1e14486ae",
|
||||
"job-tracker-ui/out/_next/static/chunks/1w3q8yrcjn2jk.js": "365200e241ee9290e93d7c2fdba169f2b0a8e774541e3cbf3f6f2781110fa644",
|
||||
"job-tracker-ui/out/_next/static/chunks/1xn023_28rgzj.js": "4f7f2108d030a48d039930736c92a55710975dddf419fe673f84d92899b1f575",
|
||||
"job-tracker-ui/out/_next/static/chunks/1xwc-b795syag.css": "f73c002233f931ca14d0ae58815c47ca9f2659f25b1547a6d1fdca12a2a00b3f",
|
||||
"job-tracker-ui/out/_next/static/chunks/22wx8--1b9tnq.js": "3f7d8e762371262c6a740b4dac21725b424847319afac46055e97074a99ff5f5",
|
||||
"job-tracker-ui/out/_next/static/chunks/24_cq-0_-oa1r.js": "f81cb5ffd0dd4a953d0dc48610226123cc99d577371809ed8c73b901a7bb988c",
|
||||
"job-tracker-ui/out/_next/static/chunks/274f8aifi_wup.js": "bc5bc5617b4acbbbb1c7966322c508bb5554024d78e71e523e27f7f5bba5a8ab",
|
||||
"job-tracker-ui/out/_next/static/chunks/2edynwqicn6ym.js": "c694af15bb117955e6f7f0962f47495b2be017dfdea93b6d4ede4d5e4fcd7efd",
|
||||
"job-tracker-ui/out/_next/static/chunks/2ha8nlh4rv92e.js": "5cb4b4cee708f35ed54ef6289269fa866afbaa64fd47bf9275ff691664d3132e",
|
||||
"job-tracker-ui/out/_next/static/chunks/2php_9zkhprrb.js": "4f91e63b1181693e7a3b269b1b24004d9abee13413b8396a916799b8c01620e8",
|
||||
"job-tracker-ui/out/_next/static/chunks/2pllop_q35dkw.js": "21c9a7c53763010317a2d09460066017e1fd192691e6a0bd83ed20ea6e1fe9dd",
|
||||
"job-tracker-ui/out/_next/static/chunks/2s2gjr6ro25dj.js": "7489e2ac285a05b563c2bcb4eaf9274bf930f2a7385f17d6d5e6850064b88b10",
|
||||
"job-tracker-ui/out/_next/static/chunks/2sj7ufu_6n9af.js": "69d7471c01b8001d52abc848910a8c35457dac3aaa4ce66eae2a03ca29ad623b",
|
||||
"job-tracker-ui/out/_next/static/chunks/2vo512u2siee8.js": "30cdfec178acfe49c1e0ae28fb23c67507bcf7f7b17008b48c05198f638c348d",
|
||||
"job-tracker-ui/out/_next/static/chunks/30-q9iimktiql.js": "db89d5da1f101216d7f99e9518dc7f5ed84f8b40ac84a6ea55f73c01bf1aca1b",
|
||||
"job-tracker-ui/out/_next/static/chunks/315n7snxk3fgw.js": "1993429aafa0753d5e9fd1ca63a4f6079ce7f7f37faa44716191f59c972c4d41",
|
||||
"job-tracker-ui/out/_next/static/chunks/33at73n-mzpir.js": "1605cc3311cc6ca3b2f44b2e0217fe5441a2799fa32b0b0c94d7634f4861ac83",
|
||||
"job-tracker-ui/out/_next/static/chunks/357yqeklh7414.js": "0192ab7198ebbe299d34a934c504dd4b562d1cccebb6e9d4c5163930c881b14c",
|
||||
"job-tracker-ui/out/_next/static/chunks/35_dl1zkx1-zx.js": "69bb75afcbd9ea9c0b7e870eb2b5796bdb24d0db7810573302fa04a497cc2c8c",
|
||||
"job-tracker-ui/out/_next/static/chunks/35pq4ixaltkev.js": "f1e9d53e2481de01d7b04aa938397c2545b7d7dc42ce3d0ac5cd3f1141bda182",
|
||||
"job-tracker-ui/out/_next/static/chunks/3_4dnl1l3809g.js": "50288c2864a9e8c7ef25c93762edb86e4e617778737b5b5a028c53c5b93d3b70",
|
||||
"job-tracker-ui/out/_next/static/chunks/3bqn9b34na0b9.js": "f1b8ebcc1b22251c33c9f3a5d11c1f893cad2da2e8744a441e790f7347aa9e73",
|
||||
"job-tracker-ui/out/_next/static/chunks/3gkylew_qn7cw.js": "7e6c74c81be0c41ab433e36d65b914f62c48f332922e27f7cc953476f4dd78cb",
|
||||
"job-tracker-ui/out/_next/static/chunks/3la4obitihzpv.js": "9a5a57b46db389b98f1fd5baa86eba1a360300dae9d1ff3ffeae7bc3378135b9",
|
||||
"job-tracker-ui/out/_next/static/chunks/3nzgmz1t8r_64.js": "de2688cd6bfc8b411e9445d857cd1d776f9960f9d63e9f06c24cbc2a98040fca",
|
||||
"job-tracker-ui/out/_next/static/chunks/3q4v10rrqy40n.js": "d87ff7b7a0f07d0d92eab3876481eb686a12d9c43d8b92cbe406aefa227a11c1",
|
||||
"job-tracker-ui/out/_next/static/chunks/3xbcgmkebja05.js": "bb1e98db2657a4b067676ead2ea26172478a79c1b384a9f9fe6588e1481d33ee",
|
||||
"job-tracker-ui/out/_next/static/chunks/turbopack-25fzg9ay_1ss-.js": "c40f39e993a30c96d6247bb3a7b581538bb046efe8ef8ec07bea3ba32291750f",
|
||||
"job-tracker-ui/out/_next/static/KgOLT2oshx6dHtAKI5NUs/_buildManifest.js": "9476e0afd3f9da68a64e6ec58631191fd3eaca62c9f5a377e7517fe9a89e59ea",
|
||||
"job-tracker-ui/out/_next/static/KgOLT2oshx6dHtAKI5NUs/_clientMiddlewareManifest.js": "5483e3295dc35dfe29ea932efc85341c916f10ff78ff5b0e965e003710893a4a",
|
||||
"job-tracker-ui/out/_next/static/KgOLT2oshx6dHtAKI5NUs/_ssgManifest.js": "678f6ce2cb80b1fe72fc67e7412be6e2ab6ada083111b64f7c40d35e3cba5e00",
|
||||
"job-tracker-ui/out/_not-found/__next._full.txt": "37dee5851fdf4b1bbaabdc143380d8dffdd07999a2c08756fd68b713ecc4826f",
|
||||
"job-tracker-ui/out/_not-found/__next._not-found/__PAGE__.txt": "001d6c3334faac5f519229a9ad22a7f8b9999e853165ea57cefdf069bd79b554",
|
||||
"job-tracker-ui/out/_not-found/__next._tree.txt": "023a4c313d4706642914da119ee1fc32ea6628de40a1e8231c294f1b5c6d02ad",
|
||||
"job-tracker-ui/out/_not-found.html": "1ca05af72181de6df1a2b0c07fe5d151fb058344c07e204a78648db4ec1c6e64",
|
||||
"job-tracker-ui/out/_not-found.txt": "37dee5851fdf4b1bbaabdc143380d8dffdd07999a2c08756fd68b713ecc4826f",
|
||||
"job-tracker-ui/out/favicon.ico": "8d4923e2c487805ea9f852a685b2cf0fb10512ded8290d2a5c37d1cc8fd0702a",
|
||||
"job-tracker-ui/out/favicon.svg": "63ecf8f37f8bb146ecfae3917187c6b692d4e801641e8a314486a4007912f3a3",
|
||||
"job-tracker-ui/out/index.html": "85cacbcd2e4209f2fc1af7e22b6e0d7ef23b3d2fd8612b4a8b105b545a9f6586",
|
||||
"job-tracker-ui/out/index.txt": "dae993f53affb686262f8ae8e75718ef05b43cdf4b9b7391376fe8ca4fe41ccf",
|
||||
"job-tracker-ui/out/logo192.png": "bc652031597fabd19b9f14e22a71f809490d218037521b3b64d013418c1390b4",
|
||||
"job-tracker-ui/out/logo512.png": "5129e9bc1ba812b711fd9a646d3a38a906d365a26ee685df183b8752458944d4",
|
||||
"job-tracker-ui/out/manifest.json": "2667ce63c2e0835b7007239816a5597639321d333da396a78638dfa9e8a7c935",
|
||||
"job-tracker-ui/out/mockups/dashboard.svg": "318be3adb1324c26eb30f05572a29528a3e38331c6a604652eef75b54f8c29dc",
|
||||
"job-tracker-ui/out/mockups/pipeline.svg": "db2ef41faabeb90e7ce85413e168581686c54535d970fc7d8deda3888a479de4",
|
||||
"job-tracker-ui/out/mockups/workspace.svg": "9bbab22349147c7b01d6e18c93c622a6f8aed6dedaf23715189ab54d60e1ddbd",
|
||||
"job-tracker-ui/out/robots.txt": "e5ab0d231eeb01b4a982d1c79a6729cac9797ad15a69247e4f28ba6afc149b4c"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 109 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 109 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 109 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"journeys": [
|
||||
{
|
||||
"name": "390-nb-dark",
|
||||
"counts": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"downloads": 3
|
||||
},
|
||||
{
|
||||
"name": "1440-en-light",
|
||||
"counts": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"downloads": 3
|
||||
}
|
||||
],
|
||||
"downloads": [
|
||||
{
|
||||
"name": "390-nb-dark",
|
||||
"kind": "converted",
|
||||
"expectedCount": 0,
|
||||
"filename": "390-nb-dark-converted-0.gz",
|
||||
"bytes": 2,
|
||||
"rawSha256": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"gzipSha256": "50c15d921df28492e2d9bf2da5d1cd5c78ee416bdcf478074db63d76d2381cba"
|
||||
},
|
||||
{
|
||||
"name": "390-nb-dark",
|
||||
"kind": "converted",
|
||||
"expectedCount": 1,
|
||||
"filename": "390-nb-dark-converted-1.gz",
|
||||
"bytes": 235,
|
||||
"rawSha256": "6af2ec936c07ea767b72978f5e31f17bd750fb942628b6765a5befb544a60bf5",
|
||||
"gzipSha256": "2117b71f51b07c27587ff99d40acd9ef43b538a62658ce52ea060ab4a3c2cba5"
|
||||
},
|
||||
{
|
||||
"name": "390-nb-dark",
|
||||
"kind": "converted",
|
||||
"expectedCount": 2,
|
||||
"filename": "390-nb-dark-converted-2.gz",
|
||||
"bytes": 468,
|
||||
"rawSha256": "18a8f3b661dc979e030446ecb3977e92fa083e81a73e96847811ba26a861409a",
|
||||
"gzipSha256": "7f3553fe748c77febb7f3b312d152002e44c1608e05e99b05b7865dac0154326"
|
||||
},
|
||||
{
|
||||
"name": "1440-en-light",
|
||||
"kind": "converted",
|
||||
"expectedCount": 0,
|
||||
"filename": "1440-en-light-converted-0.gz",
|
||||
"bytes": 2,
|
||||
"rawSha256": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
||||
"gzipSha256": "50c15d921df28492e2d9bf2da5d1cd5c78ee416bdcf478074db63d76d2381cba"
|
||||
},
|
||||
{
|
||||
"name": "1440-en-light",
|
||||
"kind": "converted",
|
||||
"expectedCount": 1,
|
||||
"filename": "1440-en-light-converted-1.gz",
|
||||
"bytes": 235,
|
||||
"rawSha256": "6af2ec936c07ea767b72978f5e31f17bd750fb942628b6765a5befb544a60bf5",
|
||||
"gzipSha256": "2117b71f51b07c27587ff99d40acd9ef43b538a62658ce52ea060ab4a3c2cba5"
|
||||
},
|
||||
{
|
||||
"name": "1440-en-light",
|
||||
"kind": "converted",
|
||||
"expectedCount": 2,
|
||||
"filename": "1440-en-light-converted-2.gz",
|
||||
"bytes": 468,
|
||||
"rawSha256": "18a8f3b661dc979e030446ecb3977e92fa083e81a73e96847811ba26a861409a",
|
||||
"gzipSha256": "7f3553fe748c77febb7f3b312d152002e44c1608e05e99b05b7865dac0154326"
|
||||
}
|
||||
],
|
||||
"captures": [
|
||||
{
|
||||
"name": "390-nb-dark",
|
||||
"count": 0,
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"name": "390-nb-dark",
|
||||
"count": 1,
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"name": "390-nb-dark",
|
||||
"count": 2,
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"name": "1440-en-light",
|
||||
"count": 0,
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"name": "1440-en-light",
|
||||
"count": 1,
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"name": "1440-en-light",
|
||||
"count": 2,
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"writes": [],
|
||||
"unavailableReads": [],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
Checking 390-nb-dark
|
||||
Checking 1440-en-light
|
||||
PASS 2 configurations, 6 native downloads, 6 accessibility scans; no API writes
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
> job-tracker-ui@0.1.0 build
|
||||
> node --max-old-space-size=4096 ./node_modules/next/dist/bin/next build
|
||||
|
||||
▲ Next.js 16.4.1 (Turbopack)
|
||||
✓ Running next.config.js took 31ms
|
||||
|
||||
Creating an optimized production build ...
|
||||
✓ Compiled successfully in 507ms
|
||||
Running TypeScript ...
|
||||
Finished TypeScript in 12.7s ...
|
||||
Collecting page data using 4 workers ...
|
||||
Generating static pages using 4 workers (0/3) ...
|
||||
✓ Generating static pages using 4 workers (3/3) in 797ms
|
||||
Finalizing page optimization ...
|
||||
|
||||
Route (app)
|
||||
┌ ○ /
|
||||
└ ○ /_not-found
|
||||
|
||||
|
||||
○ (Static) prerendered as static content
|
||||
|
||||
@@ -0,0 +1,220 @@
|
||||
|
||||
> job-tracker-ui@0.1.0 test
|
||||
> jest --runInBand job-export-lifetime.test.tsx
|
||||
|
||||
FAIL src/job-export-lifetime.test.tsx (10.566 s)
|
||||
● en conversion distinguishes zero, one and multiple rows
|
||||
|
||||
Unable to find an element with the text: Converted 1 row to import JSON.. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
|
||||
|
||||
Ignored nodes: comments, script, style
|
||||
<body>
|
||||
<div>
|
||||
<section
|
||||
aria-labelledby="_r_2b_"
|
||||
class="MuiBox-root css-s8beop"
|
||||
>
|
||||
<header
|
||||
class="MuiBox-root css-163u82n"
|
||||
>
|
||||
<div
|
||||
class="MuiBox-root css-14m33b5"
|
||||
>
|
||||
<h3
|
||||
class="MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root"
|
||||
id="_r_2b_"
|
||||
>
|
||||
Import / Export
|
||||
</h3>
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-pageDescription css-1sqgc3a-MuiTypography-root"
|
||||
>
|
||||
Import expects the JSON exported by this app (an array of job objects with embedded company).
|
||||
</p>
|
||||
</div>
|
||||
</header>
|
||||
<div
|
||||
class="MuiBox-root css-31l7gp"
|
||||
>
|
||||
<div
|
||||
aria-busy="false"
|
||||
aria-label="Import / Export"
|
||||
class="MuiBox-root css-dtwbgt"
|
||||
role="group"
|
||||
tabindex="-1"
|
||||
>
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-body2 css-1qf9eb3-MuiTypography-root"
|
||||
>
|
||||
Imports create new jobs from supported fields. IDs, owners, history, attachments and CV associations are not restored. Keep Settings open until the import finishes. If you leave, the import may be incomplete.
|
||||
</p>
|
||||
<div
|
||||
class="MuiBox-root css-14qhqxr"
|
||||
>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Export JSON
|
||||
</button>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Export CSV
|
||||
</button>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-83fk99-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Import JSON
|
||||
</button>
|
||||
<input
|
||||
accept="application/json"
|
||||
hidden=""
|
||||
type="file"
|
||||
/>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Convert CSV to Import JSON
|
||||
</button>
|
||||
<input
|
||||
accept=".csv,text/csv"
|
||||
hidden=""
|
||||
type="file"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
104 | await act(async () => fireEvent.change(document.querySelector('input[accept=".csv,text/csv"]')!, { target: { files: [file] } }));
|
||||
105 | const message = language === "en" ? `Converted ${count} ${count === 1 ? "row" : "rows"} to import JSON.` : `Konverterte ${count} ${count === 1 ? "rad" : "rader"} til import-JSON.`;
|
||||
> 106 | expect(await screen.findByText(message)).toBeVisible();
|
||||
| ^
|
||||
107 | }
|
||||
108 | expect(download).toHaveBeenCalledTimes(3); expect(client.post).not.toHaveBeenCalled();
|
||||
109 | });
|
||||
|
||||
at waitForWrapper (node_modules/@testing-library/dom/dist/wait-for.js:163:27)
|
||||
at node_modules/@testing-library/dom/dist/query-helpers.js:86:33
|
||||
at findByText (src/job-export-lifetime.test.tsx:106:25)
|
||||
|
||||
● nb conversion distinguishes zero, one and multiple rows
|
||||
|
||||
Unable to find an element with the text: Konverterte 1 rad til import-JSON.. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
|
||||
|
||||
Ignored nodes: comments, script, style
|
||||
<body>
|
||||
<div>
|
||||
<section
|
||||
aria-labelledby="_r_2h_"
|
||||
class="MuiBox-root css-s8beop"
|
||||
>
|
||||
<header
|
||||
class="MuiBox-root css-163u82n"
|
||||
>
|
||||
<div
|
||||
class="MuiBox-root css-14m33b5"
|
||||
>
|
||||
<h3
|
||||
class="MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root"
|
||||
id="_r_2h_"
|
||||
>
|
||||
Import / eksport
|
||||
</h3>
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-pageDescription css-1sqgc3a-MuiTypography-root"
|
||||
>
|
||||
Import forventer JSON eksportert av denne appen (en matrise med jobbobjekter med innebygd selskap).
|
||||
</p>
|
||||
</div>
|
||||
</header>
|
||||
<div
|
||||
class="MuiBox-root css-31l7gp"
|
||||
>
|
||||
<div
|
||||
aria-busy="false"
|
||||
aria-label="Import / eksport"
|
||||
class="MuiBox-root css-dtwbgt"
|
||||
role="group"
|
||||
tabindex="-1"
|
||||
>
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-body2 css-1qf9eb3-MuiTypography-root"
|
||||
>
|
||||
Import oppretter nye jobber fra støttede felt. ID-er, eiere, historikk, vedlegg og CV-koblinger gjenopprettes ikke. Hold Innstillinger åpent til importen er ferdig. Hvis du går ut, kan importen bli ufullstendig.
|
||||
</p>
|
||||
<div
|
||||
class="MuiBox-root css-14qhqxr"
|
||||
>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Eksporter JSON
|
||||
</button>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Eksporter CSV
|
||||
</button>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-83fk99-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Importer JSON
|
||||
</button>
|
||||
<input
|
||||
accept="application/json"
|
||||
hidden=""
|
||||
type="file"
|
||||
/>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Konverter CSV til import-JSON
|
||||
</button>
|
||||
<input
|
||||
accept=".csv,text/csv"
|
||||
hidden=""
|
||||
type="file"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
104 | await act(async () => fireEvent.change(document.querySelector('input[accept=".csv,text/csv"]')!, { target: { files: [file] } }));
|
||||
105 | const message = language === "en" ? `Converted ${count} ${count === 1 ? "row" : "rows"} to import JSON.` : `Konverterte ${count} ${count === 1 ? "rad" : "rader"} til import-JSON.`;
|
||||
> 106 | expect(await screen.findByText(message)).toBeVisible();
|
||||
| ^
|
||||
107 | }
|
||||
108 | expect(download).toHaveBeenCalledTimes(3); expect(client.post).not.toHaveBeenCalled();
|
||||
109 | });
|
||||
|
||||
at waitForWrapper (node_modules/@testing-library/dom/dist/wait-for.js:163:27)
|
||||
at node_modules/@testing-library/dom/dist/query-helpers.js:86:33
|
||||
at findByText (src/job-export-lifetime.test.tsx:106:25)
|
||||
|
||||
Test Suites: 1 failed, 1 total
|
||||
Tests: 2 failed, 14 passed, 16 total
|
||||
Snapshots: 0 total
|
||||
Time: 11.391 s
|
||||
Ran all test suites matching job-export-lifetime.test.tsx.
|
||||
@@ -0,0 +1,238 @@
|
||||
|
||||
> job-tracker-ui@0.1.0 test
|
||||
> jest --runInBand job-import.test.tsx
|
||||
|
||||
FAIL src/job-import.test.tsx (11.145 s)
|
||||
● en import feedback distinguishes one job from multiple jobs
|
||||
|
||||
Unable to find an element with the text: Imported 1 job.. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
|
||||
|
||||
Ignored nodes: comments, script, style
|
||||
<body>
|
||||
<div>
|
||||
<button>
|
||||
Toggle import panel
|
||||
</button>
|
||||
<section
|
||||
aria-labelledby="_r_0_"
|
||||
class="MuiBox-root css-s8beop"
|
||||
>
|
||||
<header
|
||||
class="MuiBox-root css-163u82n"
|
||||
>
|
||||
<div
|
||||
class="MuiBox-root css-14m33b5"
|
||||
>
|
||||
<h3
|
||||
class="MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root"
|
||||
id="_r_0_"
|
||||
>
|
||||
Import / Export
|
||||
</h3>
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-pageDescription css-1sqgc3a-MuiTypography-root"
|
||||
>
|
||||
Import expects the JSON exported by this app (an array of job objects with embedded company).
|
||||
</p>
|
||||
</div>
|
||||
</header>
|
||||
<div
|
||||
class="MuiBox-root css-31l7gp"
|
||||
>
|
||||
<div
|
||||
aria-busy="false"
|
||||
aria-label="Import / Export"
|
||||
class="MuiBox-root css-dtwbgt"
|
||||
role="group"
|
||||
tabindex="-1"
|
||||
>
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-body2 css-1qf9eb3-MuiTypography-root"
|
||||
>
|
||||
Imports create new jobs from supported fields. IDs, owners, history, attachments and CV associations are not restored. Keep Settings open until the import finishes. If you leave, the import may be incomplete.
|
||||
</p>
|
||||
<div
|
||||
class="MuiBox-root css-14qhqxr"
|
||||
>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Export JSON
|
||||
</button>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Export CSV
|
||||
</button>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-83fk99-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Import JSON
|
||||
</button>
|
||||
<input
|
||||
accept="application/json"
|
||||
hidden=""
|
||||
type="file"
|
||||
/>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Convert CSV to Import JSON
|
||||
</button>
|
||||
<input
|
||||
accept=".csv,text/csv"
|
||||
hidden=""
|
||||
type="file"
|
||||
/>
|
||||
</div>
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-body2 css-1qf9eb3-MuiTypography-root"
|
||||
role="status"
|
||||
>
|
||||
Last import: 1
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
60 | await select(selectedFile(Array.from({ length: count }, (_, i) => row(`Synthetic role ${i + 1}`))));
|
||||
61 | const message = language === "en" ? `Imported ${count} ${count === 1 ? "job" : "jobs"}.` : `Importerte ${count} ${count === 1 ? "jobb" : "jobber"}.`;
|
||||
> 62 | expect(await screen.findByText(message)).toBeVisible();
|
||||
| ^
|
||||
63 | }
|
||||
64 | expect(mockedApi.post).toHaveBeenCalledTimes(6);
|
||||
65 | });
|
||||
|
||||
at waitForWrapper (node_modules/@testing-library/dom/dist/wait-for.js:163:27)
|
||||
at node_modules/@testing-library/dom/dist/query-helpers.js:86:33
|
||||
at findByText (src/job-import.test.tsx:62:25)
|
||||
|
||||
● nb import feedback distinguishes one job from multiple jobs
|
||||
|
||||
Unable to find an element with the text: Importerte 1 jobb.. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
|
||||
|
||||
Ignored nodes: comments, script, style
|
||||
<body>
|
||||
<div>
|
||||
<button>
|
||||
Toggle import panel
|
||||
</button>
|
||||
<section
|
||||
aria-labelledby="_r_6_"
|
||||
class="MuiBox-root css-s8beop"
|
||||
>
|
||||
<header
|
||||
class="MuiBox-root css-163u82n"
|
||||
>
|
||||
<div
|
||||
class="MuiBox-root css-14m33b5"
|
||||
>
|
||||
<h3
|
||||
class="MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root"
|
||||
id="_r_6_"
|
||||
>
|
||||
Import / eksport
|
||||
</h3>
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-pageDescription css-1sqgc3a-MuiTypography-root"
|
||||
>
|
||||
Import forventer JSON eksportert av denne appen (en matrise med jobbobjekter med innebygd selskap).
|
||||
</p>
|
||||
</div>
|
||||
</header>
|
||||
<div
|
||||
class="MuiBox-root css-31l7gp"
|
||||
>
|
||||
<div
|
||||
aria-busy="false"
|
||||
aria-label="Import / eksport"
|
||||
class="MuiBox-root css-dtwbgt"
|
||||
role="group"
|
||||
tabindex="-1"
|
||||
>
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-body2 css-1qf9eb3-MuiTypography-root"
|
||||
>
|
||||
Import oppretter nye jobber fra støttede felt. ID-er, eiere, historikk, vedlegg og CV-koblinger gjenopprettes ikke. Hold Innstillinger åpent til importen er ferdig. Hvis du går ut, kan importen bli ufullstendig.
|
||||
</p>
|
||||
<div
|
||||
class="MuiBox-root css-14qhqxr"
|
||||
>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Eksporter JSON
|
||||
</button>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Eksporter CSV
|
||||
</button>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-83fk99-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Importer JSON
|
||||
</button>
|
||||
<input
|
||||
accept="application/json"
|
||||
hidden=""
|
||||
type="file"
|
||||
/>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeMedium MuiButton-outlinedSizeMedium MuiButton-colorPrimary css-1g6yn02-MuiButtonBase-root-MuiButton-root"
|
||||
tabindex="0"
|
||||
type="button"
|
||||
>
|
||||
Konverter CSV til import-JSON
|
||||
</button>
|
||||
<input
|
||||
accept=".csv,text/csv"
|
||||
hidden=""
|
||||
type="file"
|
||||
/>
|
||||
</div>
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-body2 css-1qf9eb3-MuiTypography-root"
|
||||
role="status"
|
||||
>
|
||||
Siste import: 1
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
60 | await select(selectedFile(Array.from({ length: count }, (_, i) => row(`Synthetic role ${i + 1}`))));
|
||||
61 | const message = language === "en" ? `Imported ${count} ${count === 1 ? "job" : "jobs"}.` : `Importerte ${count} ${count === 1 ? "jobb" : "jobber"}.`;
|
||||
> 62 | expect(await screen.findByText(message)).toBeVisible();
|
||||
| ^
|
||||
63 | }
|
||||
64 | expect(mockedApi.post).toHaveBeenCalledTimes(6);
|
||||
65 | });
|
||||
|
||||
at waitForWrapper (node_modules/@testing-library/dom/dist/wait-for.js:163:27)
|
||||
at node_modules/@testing-library/dom/dist/query-helpers.js:86:33
|
||||
at findByText (src/job-import.test.tsx:62:25)
|
||||
|
||||
Test Suites: 1 failed, 1 total
|
||||
Tests: 2 failed, 11 passed, 13 total
|
||||
Snapshots: 0 total
|
||||
Time: 11.99 s
|
||||
Ran all test suites matching job-import.test.tsx.
|
||||
@@ -0,0 +1,10 @@
|
||||
|
||||
> job-tracker-ui@0.1.0 test
|
||||
> jest --runInBand job-export-lifetime.test.tsx job-import.test.tsx settings-import-lifetime.test.tsx file-picker-activation.test.tsx translation-catalogue.test.ts i18n-provider.test.tsx
|
||||
|
||||
|
||||
Test Suites: 6 passed, 6 total
|
||||
Tests: 50 passed, 50 total
|
||||
Snapshots: 0 total
|
||||
Time: 10.554 s
|
||||
Ran all test suites matching job-export-lifetime.test.tsx|job-import.test.tsx|settings-import-lifetime.test.tsx|file-picker-activation.test.tsx|translation-catalogue.test.ts|i18n-provider.test.tsx.
|
||||
Reference in New Issue
Block a user