using ClaudeDo.Data.Models; using ClaudeDo.Ui.ViewModels.Islands; using Xunit; using TaskStatus = ClaudeDo.Data.Models.TaskStatus; namespace ClaudeDo.Worker.Tests.UiVm; public class TaskRowViewModelPlanningTests { private static TaskRowViewModel MakeRow(TaskStatus status, string? parentTaskId = null) => new TaskRowViewModel { Id = "t", Status = status, ParentTaskId = parentTaskId }; [Fact] public void Draft_Status_SetsIsChildFlag_WhenParentIdIsNotNull() { var vm = MakeRow(TaskStatus.Draft, "parent-id"); Assert.True(vm.IsChild); Assert.False(vm.IsPlanningParent); } [Fact] public void Planning_Status_SetsIsPlanningParent() { var vm = MakeRow(TaskStatus.Planning); Assert.True(vm.IsPlanningParent); Assert.False(vm.IsChild); Assert.Equal("PLANNING", vm.PlanningBadge); } [Fact] public void Planned_Status_ShowsPlannedBadge() { var vm = MakeRow(TaskStatus.Planned); Assert.True(vm.IsPlanningParent); Assert.Equal("PLANNED", vm.PlanningBadge); } [Fact] public void NonPlanningStatus_NoBadge() { var vm = MakeRow(TaskStatus.Manual); Assert.False(vm.IsPlanningParent); Assert.Null(vm.PlanningBadge); } }