public async Task <IActionResult> PutFeedback(int id, UpdateFeedbackRequest updateFeedbackRequest) { if (updateFeedbackRequest.Description == null || updateFeedbackRequest.DueDate == default) { return(BadRequest()); } var feedbackToUpdate = await _repository.Get(id); if (feedbackToUpdate.Data == null) { return(BadRequest()); } await _repository.Update(FeedbackMapper.MapToDomainFromUpdateRequest(feedbackToUpdate, updateFeedbackRequest)); return(Ok()); }
public void MapToDomainFromUpdate_should_map_domain_from_input() { var updateData = new UpdateFeedbackRequest() { IsCompleted = false, Description = Fixture.Create <string>(), DueDate = Fixture.Create <DateTime>() }; var domain = new Feedback(); domain.Data = Fixture.Create <FeedbackData>(); // Act domain = FeedbackMapper.MapToDomainFromUpdateRequest(domain, updateData); // Assert AssertArePropertyValuesEqual(updateData, domain.Data); }
public void Update_should_update_existing_database_item() { PopulateDatabase(20); var newFeedbackUpdate = new UpdateFeedbackRequest { IsCompleted = true, Description = Fixture.Create <string>(), DueDate = Fixture.Create <DateTime>() }; // Act var initialFeedbackData = Sut.Get().GetAwaiter().GetResult()[0]; var feedbackToUpdate = FeedbackMapper.MapToDomainFromUpdateRequest(initialFeedbackData, newFeedbackUpdate); Sut.Update(feedbackToUpdate).GetAwaiter().GetResult(); // Assert var initialFeedbackDataCopy2 = Sut.Get(initialFeedbackData.Data.Id).GetAwaiter().GetResult(); AssertArePropertyValuesEqual(initialFeedbackDataCopy2.Data, feedbackToUpdate.Data); }