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:
+224
@@ -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
|
||||
Reference in New Issue
Block a user