Beispiel #1
0
        public async Task Verify_Project_Put_Returns_BadRequest_WhenprojectDetailIsInvalid()
        {
            // Arrange
            var mockManageProject = new Mock <IProjectManager>();
            var projectRepository = new ProjectController(mockManageProject.Object, Logger);
            var projectDetail     = new Models.ProjectDetailModel()
            {
                ProjectId = 1002, Priority = 10
            };

            // Act
            var statusResult = await projectRepository.Put(1002, projectDetail);

            // Assert
            Assert.NotNull(statusResult as BadRequestObjectResult);
            Assert.Equal("This project has active tasks. Active tasks has to be closed before closing project", (statusResult as BadRequestObjectResult).Value);
        }
Beispiel #2
0
        public async Task Verify_Project_Put_Returns_BadRequestWhenprojectDetailIsNotValidToClose()
        {
            // Arrange
            var mockManageProject = new Mock <IProjectManager>();
            var projectRepository = new ProjectController(mockManageProject.Object, Logger);
            var projectDetail     = new Models.ProjectDetailModel()
            {
                ProjectId = 1001, Priority = 10, EndProject = true
            };

            mockManageProject.Setup(manage => manage.IsProjectValid(projectDetail)).Returns(false);

            // Act
            var statusResult = await projectRepository.Put(1001, projectDetail);

            // Assert
            Assert.NotNull(statusResult as BadRequestObjectResult);
        }
Beispiel #3
0
        public async Task Verify_Project_Post_Returns_InternalServerErrorStatus_OnException()
        {
            // Arrange
            var mockManageProject = new Mock <IProjectManager>();
            var projectRepository = new ProjectController(mockManageProject.Object, Logger);
            var projectDetail     = new Models.ProjectDetailModel()
            {
                ProjectId = 12, Priority = 10
            };

            mockManageProject.Setup(manage => manage.AddProjectDetails(projectDetail)).Throws(new Exception());

            // Act
            var statusResult = await projectRepository.Post(projectDetail);

            // Assert
            Assert.Equal((int)HttpStatusCode.InternalServerError, (statusResult as ObjectResult)?.StatusCode);
        }
Beispiel #4
0
        public async Task Verify_Project_Put_Return_OkStatusAndCheckServiceResponse()
        {
            // Arrange
            var mockManageProject = new Mock <IProjectManager>();
            var projectRepository = new ProjectController(mockManageProject.Object, Logger);
            var projectDetail     = new Models.ProjectDetailModel()
            {
                ProjectId = 1001, Priority = 10
            };

            mockManageProject.Setup(manage => manage.IsProjectValid(projectDetail)).Returns(true);
            mockManageProject.Setup(manage => manage.UpdateProjectDetails(1001, projectDetail)).Returns(Task.FromResult(1001));

            // Act
            var statusResult = await projectRepository.Put(1001, projectDetail);

            // Assert
            Assert.NotNull(statusResult as OkObjectResult);

            Assert.Equal("Saved", (statusResult as OkObjectResult).Value);
        }
Beispiel #5
0
        public async Task VerifyAddProjectDetails_Returns_OkStatusAndCheckTaskId()
        {
            // Arrange
            var mockManageProject = new Mock <IProjectManager>();
            var projectRepository = new ProjectController(mockManageProject.Object, Logger);

            var projectDetail = new Models.ProjectDetailModel()
            {
                ProjectId = 11, Priority = 10
            };

            mockManageProject.Setup(manage => manage.AddProjectDetails(projectDetail)).Returns(Task.FromResult(1001));

            // Act
            var statusResult = await projectRepository.Post(projectDetail);

            // Assert
            Assert.NotNull(statusResult as OkObjectResult);

            Assert.Equal("Project with id 11 created successfully", (statusResult as OkObjectResult).Value);
        }
Beispiel #6
0
        public async Task VerifyGetProjectDetail_Return_OkStatusAndprojectDetails()
        {
            // Arrange
            var mockManageProject = new Mock <IProjectManager>();
            var projectRepository = new ProjectController(mockManageProject.Object, Logger);

            var projectDetail = new Models.ProjectDetailModel()
            {
                ProjectId = 1, Priority = 10
            };

            mockManageProject.Setup(manage => manage.GetProjectDetail(1)).Returns(Task.FromResult(projectDetail));

            // Act
            var statusResult = await projectRepository.GetProjectbyId(1);

            // Assert
            Assert.NotNull(statusResult as OkObjectResult);

            var projectDetailsResult = (statusResult as OkObjectResult).Value as Models.ProjectDetailModel;

            Assert.Equal(1, projectDetailsResult?.ProjectId);
            Assert.Equal(10, projectDetailsResult?.Priority);
        }