Refactor SignalR client DI and config, add test factory Refactored FruitBankSignalRClient construction to use DI and centralized configuration from appsettings.json across all platforms. Introduced TestSignalRClientFactory for consistent test setup. Added FruitBankHubConnectionExtensions for reusable SignalR connection and logging configuration. Updated Program.cs and MauiProgram.cs to register logger factories, log writers, and IHubConnectionBuilder via DI. Embedded appsettings.json in MAUI and updated .csproj references for build flexibility. No business logic changes; all updates are infrastructure and test setup. |
||
|---|---|---|
| .. | ||
| TestData | ||
| FruitBankClientTests.cs | ||
| FruitBankHybrid.Shared.Tests.csproj | ||
| GridPartnerBaseTests.cs | ||
| GridPartnerRazorTests.cs | ||
| JsonExtensionTests.cs | ||
| MSTestSettings.cs | ||
| OrderClientTests.cs | ||
| README.md | ||
| SandboxEndpointSimpleTests.cs | ||
| StockTakingSerializerTests.cs | ||
| TestSignalRClientFactory.cs | ||
| ToonTests.cs | ||
README.md
FruitBankHybrid.Shared.Tests
@project { type = "test" own-dep-projects = [ "AyCode.Entities, AyCode.Services, AyCode.Utils (in AyCode.Core repo)", "Mango.Nop.Core, Mango.Nop.Services (in Mango.Nop Libraries repo)" ] }
MSTest integration and serialization tests. Covers SignalR client operations, JSON reference handling, binary serialization, Toon format, and bunit component rendering.
Folder Structure
| Folder | Purpose |
|---|---|
TestData/ |
Test models for Toon serialization |
Key Files
MSTestSettings.cs— Parallel test execution at MethodLevel.FruitBankClientTests.cs— (~667 lines) Full SignalR integration: Partner, Shipping, ShippingItem, ShippingDocument, Customer, Product, Order, Login tests. Localhost-only safety check.OrderClientTests.cs— Order and StockTaking retrieval/manipulation tests.JsonExtensionTests.cs— (~715 lines) JSON $id/$ref reference handling, 5-level hierarchies, circular references, DeepPopulateWithMerge.StockTakingSerializerTests.cs— Binary serialization round-trips, null collection handling, binary format analysis.ToonTests.cs— (~465 lines) Toon format: metadata generation, reference markers, type uniqueness, navigation metadata, property descriptions.SandboxEndpointSimpleTests.cs— Endpoint connectivity and SignalR negotiate tests.GridPartnerBaseTests.cs— Grid component tests (disabled).GridPartnerRazorTests.cs— bunit Blazor rendering tests (disabled).