- Модели (товар/корзина/строка/смена), парсер весовых ШК (EAN-13 20–29), корзина (штучный инкремент, весовой, скидки строка/чек с клампом), математика оплаты и смены (должно/факт/разница). - PosStore на raw Microsoft.Data.Sqlite (быстрый старт, AOT-дружелюбно): каталог + штрихкоды + очередь продаж + kv; индексы по штрихкоду/NameLower (кириллица не сворачивается через LIKE) и barcodes.ProductId (дельта-синк O(n), не O(n²)). - SyncService: дельта-pull каталога + push очереди с детерминированным idempotency-ключом (MD5 отсортированных ClientSaleId → один набор = один ключ). - Auth: password/refresh grant, ITokenStore (FileTokenStore 0600 на Unix, InMemory для тестов). Checkout.BuildSale: сборка серверного чека, скидка на чек распределяется по строкам (сервер понимает только построчную). UpdateCheck. - Тесты: штрихкод/корзина/оплата/смена/стор/синк-ключ/checkout/офлайн(5 без дублей)/версия — 37 зелёных. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
1.4 KiB
XML
33 lines
1.4 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<RootNamespace>foodmarket.UnitTests</RootNamespace>
|
|
<AssemblyName>foodmarket.UnitTests</AssemblyName>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<IsPackable>false</IsPackable>
|
|
<IsTestProject>true</IsTestProject>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\src\food-market.domain\food-market.domain.csproj" />
|
|
<ProjectReference Include="..\..\src\food-market.application\food-market.application.csproj" />
|
|
<ProjectReference Include="..\..\src\food-market.infrastructure\food-market.infrastructure.csproj" />
|
|
<ProjectReference Include="..\..\src\food-market.api\food-market.api.csproj" />
|
|
<ProjectReference Include="..\..\src\food-market.shared\food-market.shared.csproj" />
|
|
<ProjectReference Include="..\..\src\food-market.pos.core\food-market.pos.core.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Microsoft.NET.Test.Sdk" />
|
|
<PackageReference Include="xunit" />
|
|
<PackageReference Include="xunit.runner.visualstudio" />
|
|
<PackageReference Include="FluentAssertions" />
|
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" />
|
|
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" />
|
|
<PackageReference Include="coverlet.collector" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|