public async Task EndTaskTest() { var taskUservo1 = new TaskUserVO { ProjectId = "P/1", Tasks = new ProjTask { ParentTaskId = "", EndDate = DateTime.Today.AddDays(2), Priority = 1, Start = DateTime.Today, Name = "ParentTask", TaskOwnerId = "Usr/2", Id = "P/1-1", Status = 0 }, UserName = "******" }; var taskUservo2 = new TaskUserVO { ProjectId = "P/1", Tasks = new ProjTask { ParentTaskId = "P/1-1", EndDate = DateTime.Today.AddDays(2), Priority = 1, Start = DateTime.Today, Name = "Task1", TaskOwnerId = "Usr/3", Id = "P/1-2", Status = 0 }, UserName = "******" }; var takUserVos = new List <TaskUserVO> { taskUservo1, taskUservo2 }; var taskListing1 = new TaskListing { ParentTaskId = "", ParentDescription = "No Parent Task", EndDate = DateTime.Today.AddDays(2), Priority = 1, ProjectId = "P/1", StartDate = DateTime.Today, TaskDescription = "ParentTask", TaskOwnerId = "Usr/2", TaskId = "P/1-1", Status = 0, TaskOwnerName = "John" }; var taskListing2 = new TaskListing { ParentTaskId = "P/1-1", ParentDescription = "ParentTask", EndDate = DateTime.Today.AddDays(2), Priority = 1, ProjectId = "P/1", StartDate = DateTime.Today, TaskDescription = "Task1", TaskOwnerId = "Usr/3", TaskId = "P/1-2", Status = 0, TaskOwnerName = "Rob" }; var tasklistings = new List <TaskListing> { taskListing1, taskListing2 }; var mockProjTaskRepo = new Mock <IProjectTaskRepo>(); mockProjTaskRepo.Setup(repo => repo.GetAllActiveTask(It.IsAny <string>())) .Returns(Task.FromResult(takUserVos)); mockProjTaskRepo.Setup(repo => repo.EndTask(It.IsAny <string>(), It.IsAny <string>())) .Returns(Task.FromResult(new Tuple <bool, string>(true, "P/1-1"))); var mockLogger = createProjServiceLogger(); var mockMapper = new Mock <IMapper>(); var projectTaskService = new ProjTaskService(mockProjTaskRepo.Object, mockLogger, mockMapper.Object); var result = await projectTaskService.EndTask("P/1", "P/1-2"); Assert.True(result.Item1); await Assert.ThrowsAnyAsync <ApplicationException>(async() => await projectTaskService.EndTask("P/1", "P/1-1")); }