Bump export_presets.cfg version to 2.3.5. Update CHANGELOG_DRAFT.md. Refactor lobby.gd into LobbyChat, LobbyMainMenu, LobbyRoomList, LobbyRoom. Move Nakama config to environment variables in nakama_manager.gd. Derive auth_manager.gd encryption key from OS.get_unique_id().sha256_text(). Remove Steam email auth fallback. Require auth ticket. Make GachaManager.pull() async in gacha_panel.gd. Remove dummy wallet seeding. Add store_type to IAP payload. Validate IAP receipts server-side in economy.lua. Register gacha module in main.lua. Clean backend_service.gd stubs. Fix featured_banners type safety in gacha_manager.gd. Guards non-array responses. Move tiles_armagedon_a1.res to assets/models/meshes/. Fix import fallback_path.
6.5 KiB
TektonDash Unit Tests
This directory contains GUT (Godot Unit Testing) framework tests for the TektonDash project.
Test Files (38 Total)
Done Tasks (13 Files - 133 Tests)
test_admin_panel.gd
Task: [042] Admin Panel - JSON Type Safety & User History View
Tests: 10 | Status: ✅ Complete
test_shop_validation.gd
Task: [040] Shop & Receipt Validations
Tests: 14 | Status: ✅ Complete
test_auth_security.gd
Task: [034] Auth & Secrets Lockdown
Tests: 14 | Status: ✅ Complete
test_debug_cleanup.gd
Task: [017] Dead Path, Debug Gate & Telemetry Cleanup
Tests: 10 | Status: ✅ Complete
test_sync_desync.gd
Task: [035] Sync Desync Thresholds
Tests: 10 | Status: ✅ Complete
test_deployment_pipeline.gd
Task: [012] Implement Multi-Platform Deployment Pipeline
Tests: 10 | Status: ✅ Complete
test_guest_identity.gd
Task: [037] Guest & Identity Persistence
Tests: 10 | Status: ✅ Complete
test_mode_config.gd
Task: [036] Mode Config Completeness
Tests: 10 | Status: ✅ Complete
test_backend_facade.gd
Task: [038] Backend Facade & Flow Decoupling
Tests: 10 | Status: ✅ Complete
test_versioning_integrity.gd
Task: [045] Versioning & Patch Integrity
Tests: 10 | Status: ✅ Complete
test_steam_depot.gd
Task: [046] Steam Depot & Store Packaging
Tests: 10 | Status: ✅ Complete
test_tutorial_isolation.gd
Task: [044] Tutorial Isolation Contract
Tests: 10 | Status: ✅ Complete
test_client_backend_facade.gd
Task: [039] Client Backend Facade
Tests: 10 | Status: ✅ Complete
To Do Tasks (25 Files - 250 Tests)
test_code_documentation.gd
Task: [015] Add Code Documentation
Tests: 10 | Status: 📋 To Do
test_iap_receipt_validation.gd
Task: [007] Implement Server-Side IAP Receipt Validation
Tests: 10 | Status: 📋 To Do
test_nakama_key_security.gd
Task: [004] Remove Hardcoded Nakama Server Key
Tests: 10 | Status: 📋 To Do
test_currency_security.gd
Task: [006] Remove Client-Side Currency Manipulation
Tests: 10 | Status: 📋 To Do
test_backend_service_complete.gd
Task: [041] Complete backend_service.gd Implementation
Tests: 10 | Status: 📋 To Do
test_lobby_refactor.gd
Task: [020] Refactor lobby.gd (Large Class)
Tests: 10 | Status: 📋 To Do
test_backend_facade_pattern.gd
Task: [002] Implement Unified Backend Facade Pattern
Tests: 10 | Status: 📋 To Do
test_analytics_monitoring.gd
Task: [013] Implement Analytics & Monitoring System
Tests: 10 | Status: 📋 To Do
test_error_handling.gd
Task: [001] Implement Comprehensive Error Handling
Tests: 10 | Status: 📋 To Do
test_player_refactor.gd
Task: [021] Refactor player.gd (Large Class)
Tests: 10 | Status: 📋 To Do
test_rate_limiting_anticheat.gd
Task: [008] Implement Rate Limiting & Anti-Cheat
Tests: 10 | Status: 📋 To Do
test_localization_i18n.gd
Task: [011] Implement Localization/i18n System
Tests: 10 | Status: 📋 To Do
test_automated_testing_ci.gd
Task: [028] Implement Automated Testing in CI
Tests: 10 | Status: 📋 To Do
test_regional_servers.gd
Task: [009] Implement Regional Server Infrastructure
Tests: 10 | Status: 📋 To Do
test_identity_manager.gd
Task: [003] Implement Unified Identity Manager
Tests: 10 | Status: 📋 To Do
test_github_actions_workflow.gd
Task: [024] Set up GitHub Actions CI/CD Workflow
Tests: 10 | Status: 📋 To Do
test_economy_facade.gd
Task: [018] Server-Authoritative Economy Facade
Tests: 10 | Status: 📋 To Do
test_encryption_key_management.gd
Task: [005] Replace Hardcoded Encryption Key
Tests: 10 | Status: 📋 To Do
test_session_management.gd
Task: [010] Implement Proactive Session Management
Tests: 10 | Status: 📋 To Do
test_testing_infrastructure.gd
Task: [014] Implement Automated Testing Infrastructure
Tests: 10 | Status: 📋 To Do
test_debug_code_removal.gd
Task: [016] Remove Debug Code from Production
Tests: 10 | Status: 📋 To Do
test_task_019.gd
Task: [019] Additional Task Implementation
Tests: 10 | Status: 📋 To Do
test_task_022.gd
Task: [022] Additional Task Implementation
Tests: 10 | Status: 📋 To Do
test_task_023.gd
Task: [023] Additional Task Implementation
Tests: 10 | Status: 📋 To Do
test_task_025.gd
Task: [025] Additional Task Implementation
Tests: 10 | Status: 📋 To Do
Running Tests
In Godot Editor
- Open the project in Godot
- Go to Tools → GUT → Run Tests
- Tests will run and display results in the GUT GUI
From Command Line
# Run all tests
godot --headless -s addons/gut/gut_cmdln.gd
# Run specific test file
godot --headless -s addons/gut/gut_cmdln.gd -d res://tests/test_admin_panel.gd
# Export results to JUnit XML
godot --headless -s addons/gut/gut_cmdln.gd -o test-results.xml
Test Statistics
- Total Test Files: 38 (13 Done + 25 To Do)
- Total Tests: 383 (133 Done + 250 To Do)
- Done Coverage Areas:
- Admin Panel, Shop/IAP, Authentication & Security
- Debug Cleanup, Sync/Desync, Deployment Pipeline
- Guest Identity, Mode Config, Backend Facades
- Versioning, Steam Depot, Tutorial Isolation
- To Do Coverage Areas:
- Code Documentation, IAP Receipt Validation, Security Hardening
- Backend Service, Refactoring, Error Handling
- Analytics, Localization, Rate Limiting & Anti-Cheat
- Session Management, Testing Infrastructure, CI/CD
- Regional Servers, Identity Management, Economy Facade
Configuration
Tests are configured in gutconfig.json at the project root:
- Test directory:
res://tests - Log level: 1 (tests + failures)
- Double strategy: FULL (for mocking)
Adding New Tests
- Create a new file:
tests/test_feature_name.gd - Extend
GutTest - Add test methods starting with
test_ - Run tests to verify
Example:
extends GutTest
func test_something():
assert_eq(1, 1, "Should pass")
Resources
- GUT Documentation: https://gut.readthedocs.io
- GUT GitHub: https://github.com/bitwes/Gut
- Setup Guide: See
GUT_SETUP_SKILLS.mdin project root