feat: establish dotnet engineering foundation

This commit is contained in:
2026-07-27 15:00:14 +08:00
parent 60a376ea0b
commit 28e9a9fa41
36 changed files with 17301 additions and 89 deletions

View File

@@ -1,6 +1,7 @@
using System.Net;
using System.Text.Json;
using Tiku.Domain.Common;
using Tiku.Domain.Catalog;
using Tiku.Domain.Content;
using Tiku.Domain.QuestionBanks;
using Tiku.Domain.Tenancy;
@@ -62,8 +63,20 @@ public sealed class QuestionBankEndpointTests
await using var factory = new ApiTestFactory();
await factory.SeedAsync(
Tenant(tenantId, "master"),
new Subject { Id = subjectId, TenantId = tenantId, Name = "测试科目" },
new Category { Id = categoryId, TenantId = tenantId, SubjectId = subjectId, Name = "测试分类" },
new QuestionBank { Id = bankId, TenantId = tenantId, Name = "题库" },
new QuestionCollection { Id = collectionId, TenantId = tenantId, Name = "题集", Status = ContentStatus.Active },
new Question
{
Id = excludedQuestionId,
TenantId = tenantId,
QuestionBankId = bankId,
SubjectId = subjectId,
Type = "choice",
Status = QuestionStatus.Archived
});
await factory.SeedQuestionWithVersionAsync(
new Question
{
Id = includedQuestionId,
@@ -74,8 +87,7 @@ public sealed class QuestionBankEndpointTests
Type = "choice",
TypeLabel = "单选题",
Difficulty = 2,
Status = QuestionStatus.Published,
CurrentVersionId = versionId
Status = QuestionStatus.Published
},
new QuestionVersion
{
@@ -84,23 +96,14 @@ public sealed class QuestionBankEndpointTests
QuestionId = includedQuestionId,
VersionNo = 2,
Content = "题干关键词"
},
new QuestionCollectionItem
{
Id = Guid.NewGuid(),
TenantId = tenantId,
CollectionId = collectionId,
QuestionId = includedQuestionId
},
new Question
{
Id = excludedQuestionId,
TenantId = tenantId,
QuestionBankId = bankId,
SubjectId = subjectId,
Type = "choice",
Status = QuestionStatus.Archived
});
await factory.SeedAsync(new QuestionCollectionItem
{
Id = Guid.NewGuid(),
TenantId = tenantId,
CollectionId = collectionId,
QuestionId = includedQuestionId
});
using var client = factory.CreateClient();
using var response = await client.GetAsync(