Exemplo n.º 1
0
        public async Task Put_when_not_ModelState_IsValid_does_not_call_repository()
        {
            var study = new StudyDTO {
                Id = 42, Name = "Name"
            };
            var repository = new Mock <IStudyRepository>();
            var controller = new StudiesController(repository.Object);

            controller.ModelState.AddModelError("", "");

            await controller.Put(42, study);

            repository.Verify(r => r.UpdateAsync(study), Times.Never);
        }
Exemplo n.º 2
0
        public async Task Put_when_repository_Update_returns_true_returns_NoContent()
        {
            var study = new StudyDTO {
                Id = 42, Name = "Name"
            };
            var repository = new Mock <IStudyRepository>();

            repository.Setup(r => r.UpdateAsync(study)).ReturnsAsync(true);
            var controller = new StudiesController(repository.Object);

            var result = await controller.Put(42, study);

            Assert.IsType <NoContentResult>(result);
        }
Exemplo n.º 3
0
        public async Task Get_42_returns_repository_FindAsync_42()
        {
            var repository = new Mock <IStudyRepository>();
            var study      = new StudyDTO {
                Id = 42
            };

            repository.Setup(r => r.FindAsync(42)).ReturnsAsync(study);
            var controller = new StudiesController(repository.Object);

            var result = await controller.Get(42) as OkObjectResult;

            Assert.Same(study, result.Value);
        }
Exemplo n.º 4
0
        public async Task Post_when_valid_returns_Get_action()
        {
            var study = new StudyDTO {
                Name = "Name"
            };
            var repository = new Mock <IStudyRepository>();

            repository.Setup(r => r.CreateAsync(study)).ReturnsAsync(42);
            var controller = new StudiesController(repository.Object);

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

            Assert.Equal("Get", result.ActionName);
            Assert.Null(result.ControllerName); // null means current controller
            Assert.Equal(42, result.RouteValues["id"]);
        }
Exemplo n.º 5
0
        public async Task Post_when_valid_returns_study_with_new_id()
        {
            var study = new StudyDTO {
                Name = "Name"
            };
            var repository = new Mock <IStudyRepository>();

            repository.Setup(r => r.CreateAsync(study)).ReturnsAsync(42);
            var controller = new StudiesController(repository.Object);

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

            var created = result.Value as StudyDTO;

            Assert.Equal(42, created.Id);
        }