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); });
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #10
0
        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);
        }
Beispiel #11
0
        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);
        }