# 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/`](TestData/README.md) | 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).
