using System.Net; using FluentAssertions; using Moq; using Oms.Application.Dtos.Shared; using Oms.Application.Dtos.System; using Oms.Domain.SystemAggregate.Entities; using Oms.Domain.SystemAggregate.Repositories; using SimpleAdmin.Api.IntegrationTests.Support; namespace SimpleAdmin.Api.IntegrationTests; public class DictApiIntegrationTests { [Fact] public async Task GetDictList_ShouldReturnPagedResultFromRepository() { var repository = new Mock(); repository .Setup(x => x.GetPagedListAsync( It.IsAny>>(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())) .ReturnsAsync([ new Dict { Id = 9, DictType = "orderStatus", DictSort = 1, DictCode = "draft", DictName = "草稿", CreateTime = new DateTime(2026, 4, 28, 10, 0, 0) } ]); repository .Setup(x => x.CountAsync( It.IsAny>>(), It.IsAny())) .ReturnsAsync(1); await using var host = await SimpleAdminApiTestHost.CreateAsync(dictRepository: repository.Object); var response = await host.Client.GetAsync("/system/dict/list?Page=1&PageSize=20"); response.StatusCode.Should().Be(HttpStatusCode.OK); var payload = await response.Content.ReadFromJsonAsync>(); payload.Should().NotBeNull(); payload!.Total.Should().Be(1); payload.Items.Should().ContainSingle(); payload.Items[0].DictCode.Should().Be("draft"); payload.Items[0].DictName.Should().Be("草稿"); } }