public void GetProjectInfoReturnsOkIfProjectExists() { var requestData = new ProjectInfoRequestDto() { ProjectId = 1, UserId = 1 }; Project project = TestValuesProvider.GetProjects().FirstOrDefault(); ProjectInfoDto expectedResult = new ProjectInfoDto() { Id = project.Id, Description = project.Description, Name = project.Name, UserId = project.UserId }; _projectServiceMock.Setup(service => service.GetProjectById(requestData.ProjectId.Value)) .Returns(project); _mapperMock.Setup(mapper => mapper.Map <Project, ProjectInfoDto>(It.IsAny <Project>())) .Returns(expectedResult); IActionResult result = this.ProjectsControllerInstance.GetProjectInfo(requestData); Assert.IsType <OkObjectResult>(result); Assert.Equal(expectedResult, (result as OkObjectResult)?.Value); }
public void GetProjectInfoReturnsNotFoundIfServiceReturnedNull() { var requestData = new ProjectInfoRequestDto() { ProjectId = 1, UserId = 1 }; _projectServiceMock.Setup(service => service.GetProjectById(requestData.ProjectId.Value)) .Returns(null as Project); IActionResult result = this.ProjectsControllerInstance.GetProjectInfo(requestData); Assert.IsType <NotFoundObjectResult>(result); }
public void GetProjectInfoReturnsBadRequestIfModelStateHasErrors() { var requestData = new ProjectInfoRequestDto() { ProjectId = 1, UserId = 1 }; ProjectsController controller = this.ProjectsControllerInstance; controller.ModelState.AddModelError("error", "error"); IActionResult result = controller.GetProjectInfo(requestData); Assert.IsType <BadRequestObjectResult>(result); }
public void GetProjectInfoReturnsUnauthorizedOnWrongUser() { var requestData = new ProjectInfoRequestDto() { ProjectId = 1, UserId = 2 }; Project expectedProject = TestValuesProvider.GetProjects().FirstOrDefault(); _projectServiceMock.Setup(service => service.GetProjectById(requestData.ProjectId.Value)) .Returns(expectedProject); IActionResult result = this.ProjectsControllerInstance.GetProjectInfo(requestData); Assert.IsType <UnauthorizedResult>(result); }
public IActionResult GetProjectInfo([FromQuery] ProjectInfoRequestDto request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var project = _projectService.GetProjectById(request.ProjectId.Value); if (project == null) { return(NotFound(request.ProjectId.Value)); } if (project.UserId != request.UserId.Value) { return(Unauthorized()); } var projectInfo = _mapper.Map <Project, ProjectInfoDto>(project); return(Ok(projectInfo)); }