$ node --test packages/game-data/tests/skills-builds.test.mjs # cwd /Users/king/Desktop/Workspace/SRO/zoen # exit 1 TAP version 13 # Subtest: 99 unique skills: 15 weapon codices × 6 + 3 pole codices × 3 ok 1 - 99 unique skills: 15 weapon codices × 6 + 3 pole codices × 3 --- duration_ms: 0.503 type: 'test' ... # Subtest: each weapon codex unlocks at 1/3/6/10/15/20, has a level-1 chain skill and a level-20 signature ok 2 - each weapon codex unlocks at 1/3/6/10/15/20, has a level-1 chain skill and a level-20 signature --- duration_ms: 0.464625 type: 'test' ... # Subtest: every skill has timings, 4 facets, and anim/vfx/sfx briefs not ok 3 - every skill has timings, 4 facets, and anim/vfx/sfx briefs --- duration_ms: 0.338167 type: 'test' location: '/Users/king/Desktop/Workspace/SRO/zoen/packages/game-data/tests/skills-builds.test.mjs:31:1' failureType: 'testCodeFailure' error: 'pole_agi.quickening sfx' code: 'ERR_ASSERTION' name: 'AssertionError' expected: true actual: false operator: '==' stack: |- TestContext. (file:///Users/king/Desktop/Workspace/SRO/zoen/packages/game-data/tests/skills-builds.test.mjs:38:52) Test.runInAsyncScope (node:async_hooks:214:14) Test.run (node:internal/test_runner/test:1047:25) Test.processPendingSubtests (node:internal/test_runner/test:744:18) Test.postRun (node:internal/test_runner/test:1173:19) Test.run (node:internal/test_runner/test:1101:12) async Test.processPendingSubtests (node:internal/test_runner/test:744:7) ... # Subtest: icons: reused icons exist, otherwise an art request id is set; no icon used twice ok 4 - icons: reused icons exist, otherwise an art request id is set; no icon used twice --- duration_ms: 0.4685 type: 'test' ... # Subtest: specials and applied states are defined in combat-states.json ok 5 - specials and applied states are defined in combat-states.json --- duration_ms: 0.221666 type: 'test' ... # Subtest: 15 builds: 3 per pure pole, 2 per hybrid pair, one build per weapon family ok 6 - 15 builds: 3 per pure pole, 2 per hybrid pair, one build per weapon family --- duration_ms: 0.09275 type: 'test' ... # Subtest: every build has a real choice (more candidates than picks) and exactly 8 legal picks not ok 7 - every build has a real choice (more candidates than picks) and exactly 8 legal picks --- duration_ms: 0.1735 type: 'test' location: '/Users/king/Desktop/Workspace/SRO/zoen/packages/game-data/tests/skills-builds.test.mjs:75:1' failureType: 'testCodeFailure' error: 'ravager ravager.quarry_wheel rank 2 facet "Iron Cyclone" not in Grinding Wheel,Wide Arc' code: 'ERR_ASSERTION' name: 'AssertionError' expected: true actual: false operator: '==' stack: |- file:///Users/king/Desktop/Workspace/SRO/zoen/packages/game-data/tests/skills-builds.test.mjs:92:16 Array.forEach () TestContext. (file:///Users/king/Desktop/Workspace/SRO/zoen/packages/game-data/tests/skills-builds.test.mjs:81:13) Test.runInAsyncScope (node:async_hooks:214:14) Test.run (node:internal/test_runner/test:1047:25) Test.processPendingSubtests (node:internal/test_runner/test:744:18) Test.postRun (node:internal/test_runner/test:1173:19) Test.run (node:internal/test_runner/test:1101:12) async Test.processPendingSubtests (node:internal/test_runner/test:744:7) ... # Subtest: hotbars only use learned skills; chain ≤ 3 and chainable; buffs on quick slots not ok 8 - hotbars only use learned skills; chain ≤ 3 and chainable; buffs on quick slots --- duration_ms: 0.077917 type: 'test' location: '/Users/king/Desktop/Workspace/SRO/zoen/packages/game-data/tests/skills-builds.test.mjs:98:1' failureType: 'testCodeFailure' error: 'ravager chain ravager.rending_cleave' code: 'ERR_ASSERTION' name: 'AssertionError' expected: true actual: false operator: '==' stack: |- TestContext. (file:///Users/king/Desktop/Workspace/SRO/zoen/packages/game-data/tests/skills-builds.test.mjs:103:35) Test.runInAsyncScope (node:async_hooks:214:14) Test.run (node:internal/test_runner/test:1047:25) Test.processPendingSubtests (node:internal/test_runner/test:744:18) Test.postRun (node:internal/test_runner/test:1173:19) Test.run (node:internal/test_runner/test:1101:12) async Test.processPendingSubtests (node:internal/test_runner/test:744:7) ... # Subtest: weapon bases: requirements follow the formula; legacy icons exist ok 9 - weapon bases: requirements follow the formula; legacy icons exist --- duration_ms: 0.478709 type: 'test' ... # Subtest: origin starter weapons are the families of that pole ok 10 - origin starter weapons are the families of that pole --- duration_ms: 0.289916 type: 'test' ... 1..10 # tests 10 # suites 0 # pass 7 # fail 3 # cancelled 0 # skipped 0 # todo 0 # duration_ms 43.095542