chore: release version 2.3.5 and refactor lobby

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.
This commit is contained in:
2026-05-22 12:08:11 +08:00
parent 8430d1054e
commit decdb74ade
356 changed files with 27438 additions and 1630 deletions
+224
View File
@@ -0,0 +1,224 @@
# 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
1. Open the project in Godot
2. Go to **Tools → GUT → Run Tests**
3. Tests will run and display results in the GUT GUI
### From Command Line
```bash
# 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
1. Create a new file: `tests/test_feature_name.gd`
2. Extend `GutTest`
3. Add test methods starting with `test_`
4. Run tests to verify
Example:
```gdscript
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.md` in project root