Commit Graph

4 Commits

Author SHA1 Message Date
鄭沛軒 6b66c56adc refactor: 移除冗餘接口文件,簡化架構並重新組織測試結構
- 刪除重複的接口定義文件,採用具體實現類
- 重新組織測試項目結構,建立 Unit 測試分類
- 新增 Contracts 目錄統一管理資料契約
- 更新服務注入配置,簡化依賴關係
- 修復相關控制器和服務的類型引用

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 23:45:25 +08:00
鄭沛軒 c0e617065c feat: 建立完整的 API 整合測試安全網
測試基礎設施建立:
- WebApplicationFactory + IntegrationTestBase 測試框架
- MockGeminiClient AI 服務 Mock 避免外部依賴
- JwtTestHelper + TestDataSeeder 完整測試工具
- Program.cs 曝露給測試專案使用

API 整合測試覆蓋 (54個新測試):
- FlashcardsController: 7/7 完美通過 
- AuthController: 9個認證相關測試
- AIController: 7個 AI 分析測試
- OptionsVocabularyController: 8個選項生成測試
- ImageGenerationController: 7個圖片生成測試

端對端業務流程測試 (16個):
- 完整複習流程 (答對/答錯/跳過邏輯)
- AI 詞彙生成到儲存完整流程
- 使用者資料隔離與安全驗證

實證破壞性變更檢測能力:
- DI 註冊錯誤立即檢測
- 編譯時型別錯誤防護
- 業務邏輯完整性保護

總計 123 個測試,96個通過,為架構重構提供安全保障

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 22:04:27 +08:00
鄭沛軒 121437afe5 feat: 完成前端架構優化與類型安全重構
## 前端架構重構
- 重構flashcardsService,統一數據轉換邏輯確保類型安全
- 移除詞卡頁面中的as any類型斷言,使用正確的Flashcard類型
- 修復generate頁面的CEFR提取邏輯,優先使用analysis.cefr欄位
- 統一前端服務層的認證處理,移除無效JWT token

## 類型安全改進
- 確保所有flashcard相關組件使用標準Flashcard介面
- 修復getDueFlashcards方法的TypeScript類型錯誤
- 統一使用cefr欄位替代difficultyLevel,保持前後端一致性
- 完善ClickableTextV2組件的詞彙保存功能

## 技術改進
- 優化前端API服務的錯誤處理和回應格式處理
- 完善智能複習系統的數據格式轉換
- 改進圖片生成和學習會話服務的認證邏輯

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 02:33:24 +08:00
鄭沛軒 95952621ee docs: 新增選項詞彙庫功能完整文檔與測試指南
- 創建選項詞彙庫功能開發計劃書
- 新增完整的功能測試指南
- 建立測試專案結構 (DramaLing.Api.Tests)
- 統一前端與文檔的詞性標準化處理
- 完成系統整合與部署準備文檔

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 17:24:58 +08:00