using PnvPanel.Application.Instructions; using PnvPanel.Application.Tests.TestSupport; using PnvPanel.Domain.Instructions; using Xunit; namespace PnvPanel.Application.Tests.Instructions; public class ListInstructionTabsQueryHandlerTests { [Fact] public async Task Handle_ReturnsTabsOrderedBySortOrder() { using var dbContext = InMemoryDbContextFactory.Create(); dbContext.InstructionTabs.AddRange( InstructionTab.Create("Второй", "текст", 20), InstructionTab.Create("Первый", "текст", 10), InstructionTab.Create("Третий", "текст", 30) ); await dbContext.SaveChangesAsync(CancellationToken.None); var handler = new ListInstructionTabsQueryHandler(dbContext); var result = await handler.Handle(new ListInstructionTabsQuery(), CancellationToken.None); Assert.True(result.IsSuccess); Assert.Equal(["Первый", "Второй", "Третий"], result.Value.Select(t => t.Title)); } [Fact] public async Task Handle_WhenNoTabs_ReturnsEmptyList() { using var dbContext = InMemoryDbContextFactory.Create(); var handler = new ListInstructionTabsQueryHandler(dbContext); var result = await handler.Handle(new ListInstructionTabsQuery(), CancellationToken.None); Assert.True(result.IsSuccess); Assert.Empty(result.Value); } }