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); }
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); }
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); }
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); }
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); }
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); }