## 1. Test Project Setup - [x] 1.1 Create xUnit test project at tests/ChatAgent.Api.Tests with xUnit, Moq, Microsoft.AspNetCore.Mvc.Testing - [x] 1.2 Create xUnit test project at tests/ChatAgent.Client.Tests with xUnit, Moq - [x] 1.3 Add both test projects to ChatAgent.sln under a tests solution folder - [x] 1.4 Make Api's Program class accessible to tests (public partial class Program) ## 2. API Tests - [x] 2.1 Test HealthController: GET /api/health returns 200 with valid HealthResponse - [x] 2.2 Test ChatController: POST /api/chat streams SSE text deltas from mocked upstream - [x] 2.3 Test ChatController: POST /api/chat handles upstream error gracefully ## 3. Client Service Tests - [x] 3.1 Create SSE response helper for building mock SSE streams - [x] 3.2 Test ChatApiClient.SendChatStreamingAsync: parses text deltas in order - [x] 3.3 Test ChatApiClient.SendChatStreamingAsync: throws on error event - [x] 3.4 Test ChatApiClient.GetHealthAsync: returns HealthResponse on success ## 4. Verify - [x] 4.1 Run dotnet test from solution root — all tests pass