public async Task Add_UserNotFound_ReturnsNotFound() { // Arrange var controller = PrepControllerForFailedRequests(null); var newJournal = new NewJournal(); // Act var response = await controller.Add(newJournal); // Assert response.Should().BeOfType <NotFoundObjectResult>(); }
public async Task Add_JournalAdded_Returns201() { // Arrange var newJournal = new NewJournal { Title = "Fancy New Journal", UserId = "UserIdBob" }; // Act var response = await _client.PostAsync("api/journals", newJournal.ToJson()); // Assert response.EnsureSuccessStatusCode(); }
public async Task Add_CanAddNewJournal_ReturnsCreated() { // Arrange var controller = PrepControllerForSuccessfulRequests(); var newJournal = new NewJournal { Title = "Fancy Journal", UserId = "UserId" }; // Act var response = await controller.Add(newJournal); // Assert response.Should().BeOfType <CreatedAtActionResult>(); }
public async Task Add_SaveSuccessful_ReturnsJournal() { // Arrange await PrepareDatabase(); var newJournal = new NewJournal { Title = "Fancy Journal" }; _service = GetJournalService(); // Act var result = await _service.Add(newJournal); // Assert result.Should().NotBeNull(); result.Title.Should().Be(newJournal.Title); result.UserId.Should().Be("UserId"); }
public async Task <IActionResult> Add(NewJournal newJournal) { PrepJournalServiceWithUserId(); JournalDto journal; try { journal = (await _journalService.Add(newJournal)).ToDto(); } catch (ArgumentNullException ex) { return(BadRequest(ex.Message)); } catch (UserNotFoundException ex) { return(NotFound(ex.Message)); } return(CreatedAtAction(nameof(Add), journal)); }
public async Task <Journal> Add(NewJournal model) { if (string.IsNullOrEmpty(UserId)) { throw new UserNotFoundException(); } if (model == null) { throw new ArgumentNullException(nameof(model)); } var unitOfWork = GetUnitOfWork(); var newJournal = new Journal { Title = model.Title, UserId = UserId }; unitOfWork.Journals.Add(newJournal); await unitOfWork.Complete(); return(newJournal); }