// used to quickly update an agile item directly from the board, usually a status change public async Task <bool> UpdateAgileItem(BoardTaskVm updatedTask) { try { var item = await _context.AgileItems.Where(a => a.Id == updatedTask.Id).FirstOrDefaultAsync(); if (item != null) { item.Title = updatedTask.Title; item.Description = updatedTask.Description; item.Order = updatedTask.Order; item.Priority = updatedTask.Priority; item.Status = updatedTask.Status; if (updatedTask.BlockedReason != null) { item.BlockedReason = updatedTask.BlockedReason; } await _context.SaveChangesAsync(); return(true); } } catch (Exception e) { _logger.LogError("Exception when updating agile item, Exception:" + e + "Stack trace:" + e.StackTrace + "updated task:" + updatedTask); } return(false); }
public async Task <IActionResult> UpdateAgileItem([FromBody] BoardTaskVm updatedTask) { var success = await _agileItemRepository.UpdateAgileItem(updatedTask); if (success) { return(Ok(success)); } return(new StatusCodeResult(500)); }
public async Task UpdateAgileItem_Invalid_Failure() { // Arrange var updatedItem = new BoardTaskVm() { Id = Guid.NewGuid(), AssigneeId = Guid.Parse("0f294219-704d-40a5-afe9-a74fffa7003f"), AssigneeName = "Oli", Description = "Updated", Order = 3, Priority = Models.Types.Priority.Low, Status = Models.Types.Status.Complete, Title = "Updated title" }; // Act var success = await _agileItemRepository.UpdateAgileItem(updatedItem); // Assert Assert.IsNotNull(success); Assert.IsFalse(success); }
public async Task UpdateAgileItem_Valid_Success() { // Arrange var updatedItem = new BoardTaskVm() { Id = Guid.Parse("5eb09b45-9c70-4465-b62d-535e28b16aed"), AssigneeId = Guid.Parse("0f294219-704d-40a5-afe9-a74fffa7003f"), AssigneeName = "Oli", Description = "Updated", Order = 3, Priority = Models.Types.Priority.Low, Status = Models.Types.Status.Complete, Title = "Updated title" }; // Act var success = await _agileItemRepository.UpdateAgileItem(updatedItem); // Assert Assert.IsNotNull(success); Assert.IsTrue(success); }
public void Setup() { _mockAgileItemsRepository = new Mock <IAgileItemRepository>(); _agileItemsController = new AgileItemsController(_mockAgileItemsRepository.Object); _stubShortVm = new AgileItemShortVm { Id = Guid.Parse("08a60a7f-6d09-438c-97f7-cef7426b1b83"), Order = 1, Title = "Stub Title" }; _stubCreateAgileItemDto = new CreateAgileItemDto { AssigneeId = Guid.Parse("0f294219-704d-40a5-afe9-a74fffa7003f"), AssigneeName = "Oli", Board = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"), CreatedBy = Guid.Parse("0f294219-704d-40a5-afe9-a74fffa7003f"), Description = "Stub create", DueBy = DateTime.Now.AddHours(1), EstimatedTime = 1, ItemType = Models.Types.AgileItemType.Story, Order = null, ParentId = Guid.Parse("5eb09b45-9c70-4465-b62d-535e28b16aed"), Priority = Models.Types.Priority.High, StoryPoints = 3, Title = "A stub creation of a story" }; _stubUpdateItemVm = new BoardTaskVm { Id = Guid.Parse("5eb09b45-9c70-4465-b62d-535e28b16aed"), AssigneeId = Guid.Parse("0f294219-704d-40a5-afe9-a74fffa7003f"), AssigneeName = "Oli", Description = "Updated", Order = 3, Priority = Models.Types.Priority.Low, Status = Models.Types.Status.Complete, Title = "Updated title" }; _stubFullAgileItemVm = new AgileItemVm { Id = Guid.Parse("5eb09b45-9c70-4465-b62d-535e28b16aee"), AssigneeId = Guid.Parse("0f294219-704d-40a5-afe9-a74fffa7003f"), AssigneeName = "Oli", CreatedBy = Guid.Parse("0f294219-704d-40a5-afe9-a74fffa7003f"), Description = "Stub Story", DueBy = DateTime.Now.AddHours(1), EstimatedTime = 1, AgileItemType = Models.Types.AgileItemType.Story, Order = null, Priority = Models.Types.Priority.High, Title = "A stub creation of a story", CreatedOn = DateTime.Now, IsActive = true, IsComplete = false, Status = Models.Types.Status.InProgress, ParentId = Guid.Parse("5eb09b45-9c70-4465-b62d-535e28b16aed"), BoardId = Guid.Parse("aada6f2a-8854-4a5e-a907-2244f43408a1"), }; _stubOverviewVm = new AgileItemOverviewVm { AssigneeName = "Oli", Description = "Stub Story", Order = null, Priority = Models.Types.Priority.High, Title = "A stub creation of a story", IsComplete = false, Status = Models.Types.Status.InProgress, }; _stubShortVmList = new List <AgileItemShortVm> { _stubShortVm }; _stubOverviewVmList = new List <AgileItemOverviewVm> { _stubOverviewVm }; }