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);