Unit tests for core domain logic (only e2e smoke exists) #2
Labels
No labels
blocked:needs-attention
blocked:needs-decision
blocked:needs-decompose
blocked:needs-design
blocked:needs-triage
blocked:unclassified
bug
documentation
enhancement
gsd-spec
in-progress
needs-decompose
priority:high
priority:low
priority:medium
quickfix
test
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/veilwalkers#2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
tests/e2e.gdis a single integrated smoke test (34 checks, all passing). There are no fine-grained unit tests, so regressions in individual systems are hard to localize from one monolithic pass/fail line.Landable scope — one test script per system under
tests/unit/, runnable headless the same way as the e2e scene:LivingWorldtick scheduler + population capManaPoolharvest/spend across the 5 planesSkillBookXP/level mathInventoryadd/remove/stack semanticsNetProtocol.validate+Security.requirechain (guest vs builder vs admin)Closed via commit
1b5ae81.Added
tests/unit/with five standalone headless scenes (one per system):test_mana_pool.tscn(42 checks)test_skill_book.tscn(42 checks)test_inventory.tscn(36 checks)test_net_protocol_security.tscn(62 checks)test_living_world.tscn(16 checks)Total: 198 fine-grained checks across the 5 systems.
Each scene mirrors the existing
e2e.gdpattern (PASS/FAIL lines + aUT_RESULTsummary line + non-zero exit on any failure), so they slot into CI alongside the e2e smoke..forgejo/workflows/ci.ymlnow has aUnit testsstep that runstests/unit/test_*.tscn;README.mdlists the commands.