public async Task ModifyProject() { var projectMod = new ProjectMod { EndDate = DateTime.Today.AddDays(2), StartDate = DateTime.Today, PMUsrId = "Usr/1", ProjectTitle = "Project A1", Priority = 1, ProjId = "P/1" }; var project = new Project { End = projectMod.EndDate, MaxTaskCount = 0, PMId = projectMod.PMUsrId, Priority = projectMod.Priority, Start = projectMod.StartDate, Status = 0, Id = projectMod.ProjId }; var mockProjTaskRepo = new Mock <IProjectTaskRepo>(); mockProjTaskRepo.Setup(repo => repo.EditProject(It.IsAny <Project>())) .Returns(Task.FromResult(new Tuple <bool, string>(true, "P/1"))); var mockLogger = createProjServiceLogger(); var mockMapper = new Mock <IMapper>(); mockMapper.Setup(mapper => mapper.Map <Project>(It.IsAny <ProjectMod>())).Returns(project); var projectTaskService = new ProjTaskService(mockProjTaskRepo.Object, mockLogger, mockMapper.Object); var result = await projectTaskService.EditProject(projectMod); Assert.True(result.Item1); Assert.Equal("P/1", result.Item2); }
public async Task<Tuple<bool, string>> EditProject(ProjectMod project) { if ((project.EndDate > DateTime.MinValue) && (project.StartDate > DateTime.MinValue) && (project.StartDate > project.EndDate)) return new Tuple<bool, string>(false, "start date greater than end date"); var validationContext = new System.ComponentModel.DataAnnotations.ValidationContext(project); var validationResults = new List<ValidationResult>(); if (Validator.TryValidateObject(project, validationContext, validationResults)) { var projectDO = mapper.Map<Project>(project); return await projectTaskRepo.EditProject(projectDO); } return new Tuple<bool, string>(false, "validation failures"); }
public void GettSetter() { var projectMod = new ProjectMod { EndDate = DateTime.Today.AddDays(2), StartDate = DateTime.Today, PMUsrId = "Usr/1", ProjectTitle = "Project A1", ProjId = "P/1" }; Assert.Equal(DateTime.Today.AddDays(2), projectMod.EndDate); Assert.Equal(DateTime.Today, projectMod.StartDate); Assert.Equal("Usr/1", projectMod.PMUsrId); Assert.Equal("Project A1", projectMod.ProjectTitle); Assert.Equal("P/1", projectMod.ProjId); }
public async Task EditProjectTest() { var projectService = new Mock <IProjTaskService>(); var projMod = new ProjectMod { EndDate = DateTime.Today.AddDays(2), PMUsrId = "Usr/1", Priority = 1, ProjectTitle = "Project Title", StartDate = DateTime.Today, ProjId = "P/1" }; projectService.Setup(repo => repo.EditProject(It.IsAny <ProjectMod>())) .Returns(Task.FromResult(new Tuple <bool, string>(true, "P/1"))); var logger = createLogger(); var projectController = new ProjectController(projectService.Object, logger); var actionResult = (await projectController.EditProject(projMod)).Result as AcceptedResult; Assert.NotNull(actionResult); Assert.Equal(202, actionResult.StatusCode); }
public async Task <ActionResult <bool> > EditProject([FromBody] ProjectMod projectMod) { if (projectMod == null) { ModelState.AddModelError("ParameterEmpty", "Input parameter are all empty"); return(BadRequest(ModelState)); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await projService.EditProject(projectMod); if (result.Item1) { return(Accepted()); } else { return(StatusCode(500, "Unable to edit project")); } }