コード例 #1
0
        public async Task Post_given_valid_study_calls_CreateAsync()
        {
            // Arrange
            var repository = new Mock <IStudyRepository>();
            var controller = new StudyController(repository.Object, log.Object);

            var study = new StudyNoIdDTO();

            // Act
            await controller.Post(study);

            // Assert
            repository.Verify(r => r.CreateAsync(study));
        }
コード例 #2
0
        public async Task Post_given_invalid_study_doesnot_call_CreateAsync()
        {
            // Arrange
            var repository = new Mock <IStudyRepository>();

            var controller = new StudyController(repository.Object, log.Object);

            controller.ModelState.AddModelError(string.Empty, "Error");

            var study = new StudyNoIdDTO();

            // Act
            await controller.Post(study);

            // Assert
            repository.Verify(r => r.CreateAsync(It.IsAny <StudyNoIdDTO>()), Times.Never);
        }
コード例 #3
0
        public async Task Post_given_invalid_study_returns_BadRequest()
        {
            // Arrange
            var repository = new Mock <IStudyRepository>();

            var controller = new StudyController(repository.Object, log.Object);

            controller.ModelState.AddModelError(string.Empty, "Error");

            var study = new StudyNoIdDTO();

            // Act
            var result = await controller.Post(study);

            // Assert
            Assert.IsType <BadRequestObjectResult>(result);
        }
コード例 #4
0
        public async Task Post_given_valid_study_returns_CreatedAtAction()
        {
            // Arrange
            var repository = new Mock <IStudyRepository>();

            repository.Setup(r => r.CreateAsync(It.IsAny <StudyNoIdDTO>())).ReturnsAsync(11);

            var controller = new StudyController(repository.Object, log.Object);

            var study = new StudyNoIdDTO();

            // Act
            var result = await controller.Post(study) as CreatedAtActionResult;

            // Assert
            Assert.Equal(nameof(StudyController.Get), result.ActionName);
            Assert.Equal(11, result.RouteValues["id"]);
        }