using FluentAssertions;
using Microsoft.EntityFrameworkCore;
using Workflow.Domain.Entities;
using Xunit;
namespace BuildFlow.Workflow.Tests.Performance;
/// 表单数据导出 keyset 查询的 EF 索引模型测试。
public class FormDataExportIndexTests
{
[Fact]
public void FormDataShouldHaveExportKeysetCompositeIndex()
{
var options = new DbContextOptionsBuilder()
.UseInMemoryDatabase($"form-data-export-index-{Guid.NewGuid():N}")
.Options;
using var db = new WorkflowDbContext(options);
var entity = db.Model.FindEntityType(typeof(FormData));
entity.Should().NotBeNull();
entity!.GetIndexes().Should().Contain(index => index.Properties
.Select(property => property.Name)
.SequenceEqual(new[]
{
nameof(FormData.FormDefinitionId),
nameof(FormData.CreatedAt),
nameof(FormData.Id),
}));
}
}