elfisa-pharmacy/tests/Elfisa.Tests/DraftTests.cs
Exest 3d89fac6e0
Some checks failed
Desktop tests / test (push) Has been cancelled
тесты: автотесты десктопа (xUnit) + CI
- проект tests/Elfisa.Tests: 56 юнит-тестов на Elfisa.Core + Elfisa.Avalonia:
  версии апдейтера, срок JWT-сессии, ApiClient (URL/ошибки/ретраи/парсинг),
  DTO-контракты, черновики, корзина, дрилдаун прайса (МГ/базовое имя)
- тест-швы: internal-методы через InternalsVisibleTo, ApiClient(HttpMessageHandler)
- CI .github/workflows/desktop-tests.yml — dotnet test при пуше (GitHub/Gitea Actions)
- README с описанием покрытия

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-17 11:51:50 +03:00

37 lines
874 B
C#

using Elfisa.Core;
using Xunit;
namespace Elfisa.Tests;
public class DraftTests
{
[Fact]
public void DraftItem_line_sum_multiplies()
{
var it = new DraftItem { Price = 10.5m, Qty = 3 };
Assert.Equal(31.5m, it.LineSum);
}
[Fact]
public void DraftOrder_total_and_count()
{
var o = new DraftOrder();
o.Items.Add(new DraftItem { Price = 10m, Qty = 2 }); // 20
o.Items.Add(new DraftItem { Price = 5.5m, Qty = 4 }); // 22
Assert.Equal(42m, o.Total);
Assert.Equal(2, o.ItemsCount);
}
[Fact]
public void DraftOrder_generates_id()
=> Assert.False(string.IsNullOrWhiteSpace(new DraftOrder().Id));
[Fact]
public void Empty_order_totals_zero()
{
var o = new DraftOrder();
Assert.Equal(0m, o.Total);
Assert.Equal(0, o.ItemsCount);
}
}