fix(backend): Fix unit test compilation errors

Updated all unit tests to match updated method signatures after ProjectManagement Module refactoring.

Changes:
- Added TenantId parameter to Project.Create() calls in all test files
- Added TenantId parameter to ProjectCreatedEvent constructor calls
- Added IHostEnvironment and ILogger mock parameters to IdentityDbContext in Identity tests
- Fixed all test files in ColaFlow.Domain.Tests, ColaFlow.Application.Tests, and ColaFlow.Modules.Identity.Infrastructure.Tests

All tests now compile successfully with 0 errors (10 analyzer warnings only).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Yaojia Wang
2025-11-04 10:28:01 +01:00
parent 9ada0cac4a
commit 3232b70ecc
13 changed files with 85 additions and 58 deletions

View File

@@ -23,7 +23,7 @@ public class ProjectTests
var ownerId = UserId.Create();
// Act
var project = Project.Create(name, description, key, ownerId);
var project = Project.Create(TenantId.Create(Guid.NewGuid()), name, description, key, ownerId);
// Assert
project.Should().NotBeNull();
@@ -47,7 +47,7 @@ public class ProjectTests
var ownerId = UserId.Create();
// Act
var project = Project.Create(name, description, key, ownerId);
var project = Project.Create(TenantId.Create(Guid.NewGuid()), name, description, key, ownerId);
// Assert
project.DomainEvents.Should().ContainSingle();
@@ -70,7 +70,7 @@ public class ProjectTests
var ownerId = UserId.Create();
// Act
var project = Project.Create(name, description!, key, ownerId);
var project = Project.Create(TenantId.Create(Guid.NewGuid()), name, description!, key, ownerId);
// Assert
project.Should().NotBeNull();
@@ -88,7 +88,7 @@ public class ProjectTests
var ownerId = UserId.Create();
// Act
Action act = () => Project.Create(invalidName, "Description", key, ownerId);
Action act = () => Project.Create(TenantId.Create(Guid.NewGuid()), invalidName, "Description", key, ownerId);
// Assert
act.Should().Throw<DomainException>()
@@ -104,7 +104,7 @@ public class ProjectTests
var ownerId = UserId.Create();
// Act
Action act = () => Project.Create(name, "Description", key, ownerId);
Action act = () => Project.Create(TenantId.Create(Guid.NewGuid()), name, "Description", key, ownerId);
// Assert
act.Should().Throw<DomainException>()
@@ -120,7 +120,7 @@ public class ProjectTests
var ownerId = UserId.Create();
// Act
var project = Project.Create(name, "Description", key, ownerId);
var project = Project.Create(TenantId.Create(Guid.NewGuid()), name, "Description", key, ownerId);
// Assert
project.Should().NotBeNull();
@@ -135,7 +135,7 @@ public class ProjectTests
public void UpdateDetails_WithValidData_ShouldUpdateProject()
{
// Arrange
var project = Project.Create("Original Name", "Original Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Original Name", "Original Description", "TEST", UserId.Create());
var originalCreatedAt = project.CreatedAt;
var newName = "Updated Name";
var newDescription = "Updated Description";
@@ -155,7 +155,7 @@ public class ProjectTests
public void UpdateDetails_WhenCalled_ShouldRaiseProjectUpdatedEvent()
{
// Arrange
var project = Project.Create("Original Name", "Original Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Original Name", "Original Description", "TEST", UserId.Create());
project.ClearDomainEvents(); // Clear creation event
var newName = "Updated Name";
var newDescription = "Updated Description";
@@ -178,7 +178,7 @@ public class ProjectTests
public void UpdateDetails_WithNullDescription_ShouldSetEmptyDescription()
{
// Arrange
var project = Project.Create("Original Name", "Original Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Original Name", "Original Description", "TEST", UserId.Create());
// Act
project.UpdateDetails("Updated Name", null!);
@@ -194,7 +194,7 @@ public class ProjectTests
public void UpdateDetails_WithEmptyName_ShouldThrowDomainException(string invalidName)
{
// Arrange
var project = Project.Create("Original Name", "Original Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Original Name", "Original Description", "TEST", UserId.Create());
// Act
Action act = () => project.UpdateDetails(invalidName, "Updated Description");
@@ -208,7 +208,7 @@ public class ProjectTests
public void UpdateDetails_WithNameExceeding200Characters_ShouldThrowDomainException()
{
// Arrange
var project = Project.Create("Original Name", "Original Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Original Name", "Original Description", "TEST", UserId.Create());
var name = new string('A', 201);
// Act
@@ -227,7 +227,7 @@ public class ProjectTests
public void CreateEpic_WithValidData_ShouldCreateEpic()
{
// Arrange
var project = Project.Create("Test Project", "Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Test Project", "Description", "TEST", UserId.Create());
project.ClearDomainEvents();
var epicName = "Epic 1";
var epicDescription = "Epic Description";
@@ -250,7 +250,7 @@ public class ProjectTests
public void CreateEpic_WhenCalled_ShouldRaiseEpicCreatedEvent()
{
// Arrange
var project = Project.Create("Test Project", "Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Test Project", "Description", "TEST", UserId.Create());
project.ClearDomainEvents();
var epicName = "Epic 1";
var createdBy = UserId.Create();
@@ -273,7 +273,7 @@ public class ProjectTests
public void CreateEpic_InArchivedProject_ShouldThrowDomainException()
{
// Arrange
var project = Project.Create("Test Project", "Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Test Project", "Description", "TEST", UserId.Create());
project.Archive();
var createdBy = UserId.Create();
@@ -289,7 +289,7 @@ public class ProjectTests
public void CreateEpic_MultipleEpics_ShouldAddToCollection()
{
// Arrange
var project = Project.Create("Test Project", "Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Test Project", "Description", "TEST", UserId.Create());
var createdBy = UserId.Create();
// Act
@@ -310,7 +310,7 @@ public class ProjectTests
public void Archive_ActiveProject_ShouldArchiveProject()
{
// Arrange
var project = Project.Create("Test Project", "Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Test Project", "Description", "TEST", UserId.Create());
// Act
project.Archive();
@@ -325,7 +325,7 @@ public class ProjectTests
public void Archive_WhenCalled_ShouldRaiseProjectArchivedEvent()
{
// Arrange
var project = Project.Create("Test Project", "Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Test Project", "Description", "TEST", UserId.Create());
project.ClearDomainEvents();
// Act
@@ -344,7 +344,7 @@ public class ProjectTests
public void Archive_AlreadyArchivedProject_ShouldThrowDomainException()
{
// Arrange
var project = Project.Create("Test Project", "Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Test Project", "Description", "TEST", UserId.Create());
project.Archive();
// Act
@@ -363,7 +363,7 @@ public class ProjectTests
public void Activate_ArchivedProject_ShouldActivateProject()
{
// Arrange
var project = Project.Create("Test Project", "Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Test Project", "Description", "TEST", UserId.Create());
project.Archive();
// Act
@@ -379,7 +379,7 @@ public class ProjectTests
public void Activate_AlreadyActiveProject_ShouldThrowDomainException()
{
// Arrange
var project = Project.Create("Test Project", "Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Test Project", "Description", "TEST", UserId.Create());
// Act
Action act = () => project.Activate();
@@ -393,7 +393,7 @@ public class ProjectTests
public void Activate_ArchivedProjectWithEpics_ShouldActivateSuccessfully()
{
// Arrange
var project = Project.Create("Test Project", "Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Test Project", "Description", "TEST", UserId.Create());
project.CreateEpic("Epic 1", "Description", UserId.Create());
project.Archive();
@@ -413,7 +413,7 @@ public class ProjectTests
public void Epics_Collection_ShouldBeReadOnly()
{
// Arrange
var project = Project.Create("Test Project", "Description", "TEST", UserId.Create());
var project = Project.Create(TenantId.Create(Guid.NewGuid()), "Test Project", "Description", "TEST", UserId.Create());
// Act & Assert
project.Epics.Should().BeAssignableTo<IReadOnlyCollection<Epic>>();
@@ -423,8 +423,8 @@ public class ProjectTests
public void Project_ShouldHaveUniqueId()
{
// Arrange & Act
var project1 = Project.Create("Project 1", "Description", "PRJ1", UserId.Create());
var project2 = Project.Create("Project 2", "Description", "PRJ2", UserId.Create());
var project1 = Project.Create(TenantId.Create(Guid.NewGuid()), "Project 1", "Description", "PRJ1", UserId.Create());
var project2 = Project.Create(TenantId.Create(Guid.NewGuid()), "Project 2", "Description", "PRJ2", UserId.Create());
// Assert
project1.Id.Should().NotBe(project2.Id);

View File

@@ -20,7 +20,7 @@ public class DomainEventsTests
var createdBy = UserId.Create();
// Act
var @event = new ProjectCreatedEvent(projectId, projectName, createdBy);
var @event = new ProjectCreatedEvent(projectId, TenantId.Create(Guid.NewGuid()), projectName, createdBy);
// Assert
@event.ProjectId.Should().Be(projectId);
@@ -38,8 +38,9 @@ public class DomainEventsTests
var createdBy = UserId.Create();
// Act
var event1 = new ProjectCreatedEvent(projectId, projectName, createdBy);
var event2 = new ProjectCreatedEvent(projectId, projectName, createdBy);
var tenantId = TenantId.Create(Guid.NewGuid());
var event1 = new ProjectCreatedEvent(projectId, tenantId, projectName, createdBy);
var event2 = new ProjectCreatedEvent(projectId, tenantId, projectName, createdBy);
// Assert - Records with same values should be equal
event1.ProjectId.Should().Be(event2.ProjectId);
@@ -163,7 +164,7 @@ public class DomainEventsTests
public void DomainEvents_OccurredOn_ShouldBeUtcTime()
{
// Arrange & Act
var projectCreatedEvent = new ProjectCreatedEvent(ProjectId.Create(), "Test", UserId.Create());
var projectCreatedEvent = new ProjectCreatedEvent(ProjectId.Create(), TenantId.Create(Guid.NewGuid()), "Test", UserId.Create());
var projectUpdatedEvent = new ProjectUpdatedEvent(ProjectId.Create(), "Test", "Desc");
var projectArchivedEvent = new ProjectArchivedEvent(ProjectId.Create());
var epicCreatedEvent = new EpicCreatedEvent(EpicId.Create(), "Epic", ProjectId.Create());
@@ -182,7 +183,7 @@ public class DomainEventsTests
var beforeCreation = DateTime.UtcNow;
// Act
var @event = new ProjectCreatedEvent(ProjectId.Create(), "Test", UserId.Create());
var @event = new ProjectCreatedEvent(ProjectId.Create(), TenantId.Create(Guid.NewGuid()), "Test", UserId.Create());
// Assert
var afterCreation = DateTime.UtcNow;
@@ -203,7 +204,7 @@ public class DomainEventsTests
var createdBy = UserId.Create();
// Act
var @event = new ProjectCreatedEvent(projectId, projectName, createdBy);
var @event = new ProjectCreatedEvent(projectId, TenantId.Create(Guid.NewGuid()), projectName, createdBy);
var originalProjectId = @event.ProjectId;
var originalProjectName = @event.ProjectName;
var originalCreatedBy = @event.CreatedBy;