test(backend): Fix all compilation errors in Domain.Tests after Day 15 multi-tenant changes

Fixed 73 compilation errors caused by Epic/Story/WorkTask.Create() now requiring TenantId parameter.

Changes:
- Created TestDataBuilder helper class for test data creation
- Updated EpicTests.cs: Added TenantId to all Epic.Create() calls (10 tests)
- Updated StoryTests.cs: Added TenantId to all Story.Create() calls (26 tests)
- Updated WorkTaskTests.cs: Added TenantId to all WorkTask.Create() calls (37 tests)
- Added using ColaFlow.Domain.Tests.Builders to all test files

Test Results:
- Build: 0 errors, 9 warnings (xUnit analyzer warnings only)
- Tests: 192/192 passed in ColaFlow.Domain.Tests
- Full Suite: 427/431 passed (4 skipped as expected)

🤖 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 17:25:00 +01:00
parent d2ed21873e
commit 0854faccc1
4 changed files with 193 additions and 73 deletions

View File

@@ -1,6 +1,7 @@
using ColaFlow.Modules.ProjectManagement.Domain.Aggregates.ProjectAggregate;
using ColaFlow.Modules.ProjectManagement.Domain.ValueObjects;
using ColaFlow.Modules.ProjectManagement.Domain.Exceptions;
using ColaFlow.Domain.Tests.Builders;
using FluentAssertions;
namespace ColaFlow.Domain.Tests.Aggregates;
@@ -23,7 +24,7 @@ public class WorkTaskTests
var createdBy = UserId.Create();
// Act
var task = WorkTask.Create(title, description, storyId, priority, createdBy);
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), title, description, storyId, priority, createdBy);
// Assert
task.Should().NotBeNull();
@@ -51,7 +52,7 @@ public class WorkTaskTests
var createdBy = UserId.Create();
// Act
var task = WorkTask.Create(title, description!, storyId, priority, createdBy);
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), title, description!, storyId, priority, createdBy);
// Assert
task.Should().NotBeNull();
@@ -70,7 +71,7 @@ public class WorkTaskTests
var createdBy = UserId.Create();
// Act
Action act = () => WorkTask.Create(invalidTitle, "Description", storyId, priority, createdBy);
Action act = () => WorkTask.Create(TestDataBuilder.CreateTestTenantId(), invalidTitle, "Description", storyId, priority, createdBy);
// Assert
act.Should().Throw<DomainException>()
@@ -87,7 +88,7 @@ public class WorkTaskTests
var createdBy = UserId.Create();
// Act
Action act = () => WorkTask.Create(title, "Description", storyId, priority, createdBy);
Action act = () => WorkTask.Create(TestDataBuilder.CreateTestTenantId(), title, "Description", storyId, priority, createdBy);
// Assert
act.Should().Throw<DomainException>()
@@ -104,7 +105,7 @@ public class WorkTaskTests
var createdBy = UserId.Create();
// Act
var task = WorkTask.Create(title, "Description", storyId, priority, createdBy);
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), title, "Description", storyId, priority, createdBy);
// Assert
task.Should().NotBeNull();
@@ -119,10 +120,10 @@ public class WorkTaskTests
var createdBy = UserId.Create();
// Act
var taskLow = WorkTask.Create("Task Low", "Desc", storyId, TaskPriority.Low, createdBy);
var taskMedium = WorkTask.Create("Task Medium", "Desc", storyId, TaskPriority.Medium, createdBy);
var taskHigh = WorkTask.Create("Task High", "Desc", storyId, TaskPriority.High, createdBy);
var taskUrgent = WorkTask.Create("Task Urgent", "Desc", storyId, TaskPriority.Urgent, createdBy);
var taskLow = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task Low", "Desc", storyId, TaskPriority.Low, createdBy);
var taskMedium = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task Medium", "Desc", storyId, TaskPriority.Medium, createdBy);
var taskHigh = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task High", "Desc", storyId, TaskPriority.High, createdBy);
var taskUrgent = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task Urgent", "Desc", storyId, TaskPriority.Urgent, createdBy);
// Assert
taskLow.Priority.Should().Be(TaskPriority.Low);
@@ -139,7 +140,7 @@ public class WorkTaskTests
public void UpdateDetails_WithValidData_ShouldUpdateTask()
{
// Arrange
var task = WorkTask.Create("Original Title", "Original Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Original Title", "Original Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var originalCreatedAt = task.CreatedAt;
var newTitle = "Updated Title";
var newDescription = "Updated Description";
@@ -159,7 +160,7 @@ public class WorkTaskTests
public void UpdateDetails_WithNullDescription_ShouldSetEmptyDescription()
{
// Arrange
var task = WorkTask.Create("Original Title", "Original Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Original Title", "Original Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
// Act
task.UpdateDetails("Updated Title", null!);
@@ -175,7 +176,7 @@ public class WorkTaskTests
public void UpdateDetails_WithEmptyTitle_ShouldThrowDomainException(string invalidTitle)
{
// Arrange
var task = WorkTask.Create("Original Title", "Original Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Original Title", "Original Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
// Act
Action act = () => task.UpdateDetails(invalidTitle, "Updated Description");
@@ -189,7 +190,7 @@ public class WorkTaskTests
public void UpdateDetails_WithTitleExceeding200Characters_ShouldThrowDomainException()
{
// Arrange
var task = WorkTask.Create("Original Title", "Original Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Original Title", "Original Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var title = new string('A', 201);
// Act
@@ -208,7 +209,7 @@ public class WorkTaskTests
public void UpdateStatus_WithValidStatus_ShouldUpdateStatus()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var newStatus = WorkItemStatus.InProgress;
// Act
@@ -224,7 +225,7 @@ public class WorkTaskTests
public void UpdateStatus_ToAllStatuses_ShouldSucceed()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
// Act & Assert
task.UpdateStatus(WorkItemStatus.InProgress);
@@ -251,7 +252,7 @@ public class WorkTaskTests
public void AssignTo_WithValidUserId_ShouldAssignTask()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var assigneeId = UserId.Create();
// Act
@@ -267,7 +268,7 @@ public class WorkTaskTests
public void AssignTo_ReassignToDifferentUser_ShouldUpdateAssignee()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var firstAssignee = UserId.Create();
var secondAssignee = UserId.Create();
@@ -287,7 +288,7 @@ public class WorkTaskTests
public void UpdatePriority_WithValidPriority_ShouldUpdatePriority()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Low, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Low, UserId.Create());
var newPriority = TaskPriority.Urgent;
// Act
@@ -303,7 +304,7 @@ public class WorkTaskTests
public void UpdatePriority_ToAllPriorities_ShouldSucceed()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
// Act & Assert
task.UpdatePriority(TaskPriority.Low);
@@ -327,7 +328,7 @@ public class WorkTaskTests
public void UpdateEstimate_WithValidHours_ShouldUpdateEstimate()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var hours = 4.5m;
// Act
@@ -343,7 +344,7 @@ public class WorkTaskTests
public void UpdateEstimate_WithZeroHours_ShouldSucceed()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
// Act
task.UpdateEstimate(0);
@@ -356,7 +357,7 @@ public class WorkTaskTests
public void UpdateEstimate_WithNegativeHours_ShouldThrowDomainException()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
// Act
Action act = () => task.UpdateEstimate(-1);
@@ -370,7 +371,7 @@ public class WorkTaskTests
public void UpdateEstimate_MultipleUpdates_ShouldOverwritePreviousValue()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
// Act
task.UpdateEstimate(4);
@@ -388,7 +389,7 @@ public class WorkTaskTests
public void LogActualHours_WithValidHours_ShouldLogHours()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var hours = 5.5m;
// Act
@@ -404,7 +405,7 @@ public class WorkTaskTests
public void LogActualHours_WithZeroHours_ShouldSucceed()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
// Act
task.LogActualHours(0);
@@ -417,7 +418,7 @@ public class WorkTaskTests
public void LogActualHours_WithNegativeHours_ShouldThrowDomainException()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
// Act
Action act = () => task.LogActualHours(-1);
@@ -431,7 +432,7 @@ public class WorkTaskTests
public void LogActualHours_MultipleUpdates_ShouldOverwritePreviousValue()
{
// Arrange
var task = WorkTask.Create("Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
var task = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", StoryId.Create(), TaskPriority.Medium, UserId.Create());
// Act
task.LogActualHours(4);
@@ -451,8 +452,8 @@ public class WorkTaskTests
// Arrange & Act
var storyId = StoryId.Create();
var createdBy = UserId.Create();
var task1 = WorkTask.Create("Task 1", "Description", storyId, TaskPriority.Medium, createdBy);
var task2 = WorkTask.Create("Task 2", "Description", storyId, TaskPriority.Medium, createdBy);
var task1 = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 1", "Description", storyId, TaskPriority.Medium, createdBy);
var task2 = WorkTask.Create(TestDataBuilder.CreateTestTenantId(), "Task 2", "Description", storyId, TaskPriority.Medium, createdBy);
// Assert
task1.Id.Should().NotBe(task2.Id);