コード例 #1
0
        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>();
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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>();
        }
コード例 #4
0
        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");
        }
コード例 #5
0
ファイル: JournalsController.cs プロジェクト: Kianek/writely
        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));
        }
コード例 #6
0
        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);
        }