refactor: AdminApi 剔除租户侧能力
This commit is contained in:
@@ -13,12 +13,15 @@ using TakeoutSaaS.Shared.Abstractions.Exceptions;
|
||||
|
||||
namespace TakeoutSaaS.Integration.Tests.App.Tenants;
|
||||
|
||||
/// <summary>
|
||||
/// 公告工作流集成测试。
|
||||
/// </summary>
|
||||
public sealed class AnnouncementWorkflowTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task GivenDraftAnnouncement_WhenPublish_ThenStatusIsPublishedAndActive()
|
||||
{
|
||||
// Arrange
|
||||
// 1. 准备
|
||||
using var database = new SqliteTestDatabase();
|
||||
using var context = database.CreateContext(tenantId: 100, userId: 11);
|
||||
|
||||
@@ -28,18 +31,18 @@ public sealed class AnnouncementWorkflowTests
|
||||
context.ChangeTracker.Clear();
|
||||
|
||||
var repository = new EfTenantAnnouncementRepository(context);
|
||||
var tenantProvider = new TestTenantProvider(100);
|
||||
var eventPublisher = new Mock<IEventPublisher>();
|
||||
var handler = new PublishAnnouncementCommandHandler(repository, tenantProvider, eventPublisher.Object);
|
||||
var handler = new PublishAnnouncementCommandHandler(repository, eventPublisher.Object);
|
||||
|
||||
// Act
|
||||
// 2. (空行后) 执行
|
||||
var result = await handler.Handle(new PublishAnnouncementCommand
|
||||
{
|
||||
TenantId = 100,
|
||||
AnnouncementId = announcement.Id,
|
||||
RowVersion = announcement.RowVersion
|
||||
}, CancellationToken.None);
|
||||
|
||||
// Assert
|
||||
// 3. (空行后) 断言
|
||||
result.Should().NotBeNull();
|
||||
result!.Status.Should().Be(AnnouncementStatus.Published);
|
||||
result.IsActive.Should().BeTrue();
|
||||
@@ -53,7 +56,7 @@ public sealed class AnnouncementWorkflowTests
|
||||
[Fact]
|
||||
public async Task GivenPublishedAnnouncement_WhenRevoke_ThenStatusIsRevokedAndInactive()
|
||||
{
|
||||
// Arrange
|
||||
// 1. 准备
|
||||
using var database = new SqliteTestDatabase();
|
||||
using var context = database.CreateContext(tenantId: 200, userId: 11);
|
||||
|
||||
@@ -64,18 +67,18 @@ public sealed class AnnouncementWorkflowTests
|
||||
context.ChangeTracker.Clear();
|
||||
|
||||
var repository = new EfTenantAnnouncementRepository(context);
|
||||
var tenantProvider = new TestTenantProvider(200);
|
||||
var eventPublisher = new Mock<IEventPublisher>();
|
||||
var handler = new RevokeAnnouncementCommandHandler(repository, tenantProvider, eventPublisher.Object);
|
||||
var handler = new RevokeAnnouncementCommandHandler(repository, eventPublisher.Object);
|
||||
|
||||
// Act
|
||||
// 2. (空行后) 执行
|
||||
var result = await handler.Handle(new RevokeAnnouncementCommand
|
||||
{
|
||||
TenantId = 200,
|
||||
AnnouncementId = announcement.Id,
|
||||
RowVersion = announcement.RowVersion
|
||||
}, CancellationToken.None);
|
||||
|
||||
// Assert
|
||||
// 3. (空行后) 断言
|
||||
result.Should().NotBeNull();
|
||||
result!.Status.Should().Be(AnnouncementStatus.Revoked);
|
||||
result.IsActive.Should().BeFalse();
|
||||
@@ -89,7 +92,7 @@ public sealed class AnnouncementWorkflowTests
|
||||
[Fact]
|
||||
public async Task GivenRevokedAnnouncement_WhenPublish_ThenRepublishAndClearRevokedAt()
|
||||
{
|
||||
// Arrange
|
||||
// 1. 准备
|
||||
using var database = new SqliteTestDatabase();
|
||||
using var context = database.CreateContext(tenantId: 300, userId: 11);
|
||||
|
||||
@@ -101,18 +104,18 @@ public sealed class AnnouncementWorkflowTests
|
||||
context.ChangeTracker.Clear();
|
||||
|
||||
var repository = new EfTenantAnnouncementRepository(context);
|
||||
var tenantProvider = new TestTenantProvider(300);
|
||||
var eventPublisher = new Mock<IEventPublisher>();
|
||||
var handler = new PublishAnnouncementCommandHandler(repository, tenantProvider, eventPublisher.Object);
|
||||
var handler = new PublishAnnouncementCommandHandler(repository, eventPublisher.Object);
|
||||
|
||||
// Act
|
||||
// 2. (空行后) 执行
|
||||
var result = await handler.Handle(new PublishAnnouncementCommand
|
||||
{
|
||||
TenantId = 300,
|
||||
AnnouncementId = announcement.Id,
|
||||
RowVersion = announcement.RowVersion
|
||||
}, CancellationToken.None);
|
||||
|
||||
// Assert
|
||||
// 3. (空行后) 断言
|
||||
result.Should().NotBeNull();
|
||||
result!.Status.Should().Be(AnnouncementStatus.Published);
|
||||
result.IsActive.Should().BeTrue();
|
||||
|
||||
Reference in New Issue
Block a user