public ActionResult Project(ScrumProjectViewModel model) { if (CurrentUser.Id.Value == model.Group.ScrumMasterId) { var project = _projectMapper.FromProjectViewModel(model.Project); var group = _groupMapper.FromGroupViewModel(model.Group); _projectProvider.UpdateProjectDescription(project); _groupProvider.UpdateGroupDescription(group); } return(RedirectToAction("View", "Project", new { id = model.Project.Id })); }
public void ScrumMasterUpdateProject_NotNull() { var scrumMasterId = _context.Groups .Where(t => t.Project.Status == ProjectStatus.WaitingForDescription) .Select(g => g.ScrumMasterId.Value) .First(); var controller = CreateControllerWithFakeUser(scrumMasterId); string teamPurpose = "testTeam"; string fullDescription = "testFull"; string shortDescription = "testShort"; string teamworkDesciption = "testTeamDesc"; var dbGroupId = _context.ScrumMasters.Where(sm => sm.Id == scrumMasterId).Select(sm => sm.GroupId.Value).Single(); var dbProjectId = _context.Projects.Where(p => p.Groups.Any(g => g.Id == dbGroupId)).Select(p => p.Id).Single(); var group = new GroupViewModel { Id = dbGroupId, TeamPurpose = teamPurpose, TeamWorkDescription = teamworkDesciption, ScrumMasterId = scrumMasterId, ProjectId = dbProjectId }; var model = new ScrumProjectViewModel { Group = group, Project = new ProjectViewModel { Id = dbProjectId, FullDescription = fullDescription, ShortDescription = shortDescription } }; RedirectToRouteResult result = controller.Project(model) as RedirectToRouteResult; Assert.IsNotNull(result, "RedirectResult is null"); Assert.AreEqual("Project", result.RouteValues["controller"], "Controller is not equal"); Assert.AreEqual("View", result.RouteValues["action"], "Action is not equal"); Assert.AreEqual(model.Project.Id, result.RouteValues["id"], "Id is not equal"); var dbProject = _context.Projects.Single(p => p.Id == dbProjectId); var dbGroup = _context.Groups.Single(g => g.Id == group.Id); Assert.AreEqual(teamPurpose, dbGroup.TeamPurpose, "Group TeamPurpose is not equal"); Assert.AreEqual(fullDescription, dbProject.FullDescription, "Project FullDescription is not equal"); Assert.AreEqual(shortDescription, dbProject.ShortDescription, "Group ShortDescription is not equal"); Assert.AreEqual(teamworkDesciption, dbGroup.TeamworkDescription, "Project TeamworkDesciption is not equal"); }
public ActionResult Edit() { var group = _scrumMasterProvider.Get(CurrentUser.Id.Value).CurrentGroup; var model = new ScrumProjectViewModel(); model.Group = _groupMapper.ToGroupViewModel(group); model.Project = _projectMapper.ToViewModel(group.Project); if (model.Project.Status != ProjectStatus.InProgress) { return(RedirectToAction("View", "Project", new { id = model.Project.Id })); } return(View(model)); }
public void ScrumMasterGetEditProjectAndModel_NotNull() { var projectId = _context.Projects.Where(t => t.Status == ProjectStatus.InProgress).First().Id; int scrumId = _context.Groups.Where(t => t.ProjectId == projectId).First().ScrumMasterId.Value; var controller = CreateControllerWithFakeUser(scrumId); ViewResult result = controller.Edit() as ViewResult; Assert.IsNotNull(result, "View is null"); ScrumProjectViewModel model = result.ViewData.Model as ScrumProjectViewModel; Assert.IsNotNull(model, "Model is null"); var dbGroup = _context.ScrumMasters.Find(scrumId).CurrentGroup; var dbProject = _context.ScrumMasters.Find(scrumId).CurrentGroup.Project; Assert.AreEqual(model.Group.TeamPurpose, dbGroup.TeamPurpose, "Group StartDate is not equal"); Assert.AreEqual(model.Project.Name, dbProject.Name, "Project Name is not equal"); }
public void ScrumMasterGetProjectAndModel_NotNull() { var scrumMasterId = _context.Groups.First(t => t.Project.Status == ProjectStatus.WaitingForDescription).ScrumMasterId.Value; var controller = CreateControllerWithFakeUser(scrumMasterId); var dbGroupInital = _context.ScrumMasters.Find(scrumMasterId).CurrentGroup; ViewResult result = controller.Project() as ViewResult; Assert.IsNotNull(result, "View is null"); ScrumProjectViewModel model = result.ViewData.Model as ScrumProjectViewModel; Assert.IsNotNull(model, "Model is null"); var dbGroup = _context.ScrumMasters.Find(scrumMasterId).CurrentGroup; var dbProject = _context.ScrumMasters.Find(scrumMasterId).CurrentGroup.Project; Assert.AreEqual(model.Group.TeamPurpose, dbGroup.TeamPurpose, "Group StartDate is not equal"); Assert.AreEqual(model.Project.Name, dbProject.Name, "Project Name is not equal"); }