public async Task <int> Update(long journalId, JournalUpdate updateModel) { using var unitOfWork = GetUnitOfWork(); var journal = await unitOfWork.Journals.GetById(journalId); if (journal == null) { throw new JournalNotFoundException($"Journal not found: {journalId}"); } journal.Update(updateModel); return(await unitOfWork.Complete()); }
public async Task Update_JournalNotFound_Returns404() { // Arrange var journalUpdate = new JournalUpdate { Title = "Spiffy New Title" }; // Act var response = await _client.PatchAsync("api/journals/184732", journalUpdate.ToJson()); // Assert response.StatusCode.Should().Be(HttpStatusCode.NotFound); }
public async Task Update_JournalFound_Returns204() { // Arrange var journalUpdate = new JournalUpdate { Title = "Spiffy New Title" }; // Act var response = await _client.PatchAsync("api/journals/1", journalUpdate.ToJson()); // Assert response.EnsureSuccessStatusCode(); }
public async Task Update_JournalNotFound_ReturnsNotFound() { // Arrange var controller = PrepControllerForFailedRequests(); var journalUpdate = new JournalUpdate { Title = "Spiffy Title" }; // Act var response = await controller.Update(1L, journalUpdate); // Assert response.Should().BeOfType <NotFoundObjectResult>(); }
public async Task Update_UpdateSuccessful_ReturnsNoContent() { // Arrange var controller = PrepControllerForSuccessfulRequests(); var journalUpdate = new JournalUpdate { Title = "Spiffy Title" }; // Act var response = await controller.Update(1L, journalUpdate); // Assert response.Should().BeOfType <NoContentResult>(); }
public void Update_NoChange_ReturnsFalse() { // Arrange var updateModel = new JournalUpdate { Title = _journal.Title }; // Act var result = _journal.Update(updateModel); // Assert result.Should().BeFalse(); }
public void Update_TitleChanged_ReturnsTrue() { // Arrange var updateModel = new JournalUpdate { Title = "Spiffy New Title" }; // Act var result = _journal.Update(updateModel); // Assert result.Should().BeTrue(); _journal.Title.Should().Be(updateModel.Title); }
public async Task Update_JournalFound_UpdateSuccessful_ReturnsNumberOfUpdatedEntities() { // Arrange var journal = await PrepDbWithJournal(); var updateModel = new JournalUpdate { Title = "Shiny New Title" }; _service = GetJournalService(); // Act var result = await _service.Update(journal.Id, updateModel); // Assert result.Should().Be(1); }
public async Task <IActionResult> Update(long journalId, JournalUpdate update) { PrepJournalServiceWithUserId(); try { await _journalService.Update(journalId, update); } catch (ArgumentNullException ex) { return(BadRequest(ex.Message)); } catch (JournalNotFoundException ex) { return(NotFound(ex.Message)); } return(NoContent()); }