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 UpdateThrowsDatabaseExceptionWhenRepoFailed() { Project project = TestValuesProvider.GetProjects().FirstOrDefault(); _projectRepositoryMock.Setup(repo => repo.Update(project)) .Throws <Exception>(); Assert.Throws <StriveDatabaseException>(() => { this.ProjectServiceInstance.Update(project); }); }
public void GetProjectsReturnsFullCollectionForUser() { int userId = 1; List <Project> testProjects = TestValuesProvider.GetProjects(); _projectRepositoryMock.Setup(repo => repo.GetAll()) .Returns(testProjects); List <Project> result = this.ProjectServiceInstance.GetProjects(userId); Assert.Equal(testProjects, result); }
public void GetProjectByIdReturnsTargetProjectWhenProjectExists() { int projectId = 1; _projectRepositoryMock.Setup(repo => repo.GetById(It.IsAny <int>())) .Returns(TestValuesProvider.GetProjects().FirstOrDefault()); Project result = this.ProjectServiceInstance.GetProjectById(projectId); Assert.NotNull(result); Assert.Equal(projectId, result.Id); }
public void IsProjectExistsReturnsTrueWhenProjectExistsByNameAndUserId() { string projectName = "Test 1 name"; int userId = 1; _projectRepositoryMock.Setup(repo => repo.GetAll()) .Returns(TestValuesProvider.GetProjects()); bool result = this.ProjectServiceInstance.IsProjectExists(projectName, userId); Assert.True(result); }
public void IsProjectExistsReturnsFalseWhenProjectNameAndUserIdNotFound() { string projectName = "This project doesn't exists"; int actualUserId = 2; _projectRepositoryMock.Setup(repo => repo.GetAll()) .Returns(TestValuesProvider.GetProjects()); bool result = this.ProjectServiceInstance.IsProjectExists(projectName, actualUserId); Assert.False(result); }
public void DeleteProjectReturnsOkOnSuccessfulDelete() { var request = new ProjectDeleteRequestDto() { ProjectId = 1 }; _projectServiceMock.Setup(service => service.GetProjectById(It.IsAny <int>())) .Returns(TestValuesProvider.GetProjects().FirstOrDefault()); IActionResult result = this.ProjectsControllerInstance.DeleteProject(request); Assert.IsType <OkResult>(result); }
public void ProjectsControllerReturnsOkResultIfNoExceptionThrown() { var requestDto = new ProjectListRequestDto() { UserId = 1 }; List <Project> testProjects = TestValuesProvider.GetProjects(); _projectServiceMock.Setup(service => service.GetProjects(It.IsAny <int>())) .Returns(testProjects); IActionResult result = this.ProjectsControllerInstance.GetProjectList(requestDto); Assert.IsType <OkObjectResult>(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 void UpdateProjectReturnsOkOnSuccessfulUpdate() { var projectData = new ProjectCreateUpdateRequestDto() { Id = 1, Name = "Test", Description = "Test", UserId = 1 }; _projectServiceMock.Setup(service => service.GetProjectById(It.IsAny <int>())) .Returns(TestValuesProvider.GetProjects().FirstOrDefault()); IActionResult result = this.ProjectsControllerInstance.UpdateProject(projectData); _projectServiceMock.Verify(service => service.GetProjectById(projectData.Id.Value), Times.Once); _projectServiceMock.Verify(service => service.IsProjectExists(projectData.Name, projectData.UserId.Value), Times.Once); _projectServiceMock.Verify(service => service.Update(It.IsAny <Project>()), Times.Once); Assert.IsType <OkResult>(result); }
public void UpdateProjectReturnsBadRequestOnInvalidData() { var projectData = new ProjectCreateUpdateRequestDto() { Id = 1, Name = "Test", Description = "Test", UserId = 1 }; ProjectsController controller = this.ProjectsControllerInstance; controller.ModelState.AddModelError("error", "error"); _projectServiceMock.Setup(service => service.GetProjectById(projectData.Id.Value)) .Returns(TestValuesProvider.GetProjects().FirstOrDefault()); IActionResult result = controller.UpdateProject(projectData); _projectServiceMock.Verify(service => service.GetProjectById(projectData.Id.Value), Times.Once); _projectServiceMock.Verify(service => service.IsProjectExists(projectData.Name, projectData.UserId.Value), Times.Never); _projectServiceMock.Verify(service => service.Update(It.IsAny <Project>()), Times.Never); Assert.IsType <BadRequestObjectResult>(result); }