public void TestThatDeletingTeamMemberDeletesTeamMemberAndAssessmentItems() { var teamLogic = CreateTeamLogicForAdmin(); var team = new Core.Models.Team() { Id = 1, Name = Guid.NewGuid().ToString() }; teamLogic.CreateTeam(team); //Create a new team member and add an assessment ite,. _mockContainer.TeamMembers.Add(new Data.TeamMember() { Id = 2 }); _mockContainer.AssessmentItems.Add(new Data.AssessmentItem() { TeamMemberId = 2 }); teamLogic.DeleteTeamMember(team.Id, 2); Assert.IsFalse(_mockContainer.TeamMembers.Any(i => i.Id == 2), "The user was not removed."); Assert.IsFalse(_mockContainer.AssessmentItems.Any(i => i.TeamMemberId == 2), "Assessment Items were not removed."); }
public void TestThatUserWhoCreatesTeamIsSetAsTeamAdmin() { /// var user = System.Security.Principal.WindowsIdentity.GetCurrent(); var identity = new System.Security.Principal.GenericIdentity("TestUser"); var princpal = new System.Security.Principal.GenericPrincipal(identity, new string[] { }); TeamController.CurrentUser = princpal; TeamController teamController = CreateTeamController(); teamController.Request = _request; teamController.User = princpal; Core.Models.Team newTeam = new Core.Models.Team() { Name = Guid.NewGuid().ToString() }; var result = teamController.Post(newTeam); var team = _mockContainer.Teams.Where(i => i.Name == newTeam.Name).FirstOrDefault(); Assert.IsNotNull(team, "Could not find new team"); var teamMember = team.TeamMembers.Where(i => i.UserId == identity.Name).FirstOrDefault(); string allUsers = String.Join(",", team.TeamMembers.Select(i => i.UserId + i.IsAdmin.ToString()).ToArray()); Assert.IsNotNull(teamMember, "User was not assigned to team. The current user is " + identity.Name + " Current Users:" + allUsers); Assert.IsTrue(teamMember.IsAdmin, "User was not created as administrator."); }
public static TeamModel ToTeamModel(this Core.Models.Team team) { var response = new TeamModel { Id = team.Id.ToString(), Status = (int)team.Status, CaptainId = Guid.Empty.ToString(), ShuttleId = Guid.Empty.ToString() }; team.Robots.ForEach(robot => response.RobotsIds.Add(robot.ToString())); return(response); }
public void TestThatCreatingANewTeamIsAllowed() { TeamController teamController = new TeamController(_teamRepository, _assessmentRepo, _dimensionRepo); teamController.Request = _request; Core.Models.Team newTeam = new Core.Models.Team() { Name = Guid.NewGuid().ToString() }; IHttpActionResult result = teamController.Post(newTeam); //Assert.IsTrue(result.StatusCode == System.Net.HttpStatusCode.Created); Assert.IsTrue(_mockContainer.Teams.Where(i => i.Name == newTeam.Name).Count() == 1); }
public void TestThatDeleteDeletesTeam() { var teamLogic = CreateTeamLogicForAdmin(); var team = new Core.Models.Team() { Id = 1, Name = Guid.NewGuid().ToString() }; teamLogic.CreateTeam(team); teamLogic.DeleteTeam(team.Id); Assert.IsFalse(_mockContainer.Teams.Any(i => i.Id == team.Id), "Team was not deleted."); }
public void TestThatCreatingADuplicateTeamThrowsException() { _mockContainer.Teams.Add(new Data.Team() { Name = "Test Team" }); TeamController teamController = new TeamController(_teamRepository, _assessmentRepo, _dimensionRepo); Core.Models.Team newTeam = new Core.Models.Team() { Name = _mockContainer.Teams.First().Name }; teamController.Post(newTeam); Assert.Fail("Must not create duplicate teams"); }
public static TeamModel ToTeamModel(this Core.Models.Team team) { if (team == null) { return(new TeamModel()); } var response = new TeamModel { Id = team.Id.ToString(), Name = team.Name ?? string.Empty, Status = (int)team.Status, CaptainId = team.CaptainId.ToString(), ShuttleId = team.ShuttleId.ToString() }; team.Robots.ForEach(robot => response.RobotsIds.Add(robot.ToString())); return(response); }
public void TestThaYouCannotDeleteTheLastAdminFromAGroup() { var teamLogic = CreateTeamLogicForAdmin(); var team = new Core.Models.Team() { Id = 1, Name = Guid.NewGuid().ToString() }; teamLogic.CreateTeam(team); var user = teamLogic.GetTeamMembers(team.Id).First(); _mockContainer.AssessmentItems.Add(new Data.AssessmentItem() { TeamMemberId = user.Id }); teamLogic.DeleteTeamMember(team.Id, user.Id); }
public static Core.Models.Team ToTeam(this TeamModel team) { if (!Guid.TryParse(team.Id, out _)) { return(new Core.Models.Team()); } var response = new Core.Models.Team { Id = Guid.Parse(team.Id), Status = (TeamStatus)team.Status, Robots = new List <Guid>() }; foreach (var robotId in team.RobotsIds) { response.Robots.Add(Guid.Parse(robotId)); } return(response); }
public static Core.Models.Team ToTeam(this TeamModel team) { //team.CaptainId = string.IsNullOrEmpty(team.CaptainId) ? Guid.Empty.ToString() : team.CaptainId; //team.ShuttleId = string.IsNullOrEmpty(team.ShuttleId) ? Guid.Empty.ToString() : team.ShuttleId; var response = new Core.Models.Team { Id = Guid.Parse(team.Id), Name = team.Name, Status = (TeamStatus)team.Status, CaptainId = Guid.Parse(team.CaptainId), ShuttleId = Guid.Parse(team.ShuttleId), Robots = new List <Guid>() }; foreach (var robotId in team.RobotsIds) { response.Robots.Add(Guid.Parse(robotId)); } return(response); }
public void UpdateTeam(Core.Models.Team team) { var current = _teamRepo.FindById(team.Id); if (current != null) { current.Name = team.Name; if (!String.IsNullOrEmpty(team.AvatarName)) { current.AvatarType = _teamRepo.GetAvatar(team.AvatarName); } else { current.AvatarType = _teamRepo.GetDefaultAvatar(); } _teamRepo.SaveChanges(); } else { throw new ApplicationException("Invalid team Id."); } }
public void TestThatDeleteDeletesTeam() { var teamLogic = CreateTeamLogicForAdmin(); var team = new Core.Models.Team() { Id = 1, Name = Guid.NewGuid().ToString() }; teamLogic.CreateTeam(team); teamLogic.DeleteTeam(team.Id); Assert.IsFalse(_mockContainer.Teams.Any(i => i.Id == team.Id), "Team was not deleted."); }
public void TestThatDeletingTeamMemberDeletesTeamMemberAndAssessmentItems() { var teamLogic = CreateTeamLogicForAdmin(); var team = new Core.Models.Team() { Id = 1, Name = Guid.NewGuid().ToString() }; teamLogic.CreateTeam(team); //Create a new team member and add an assessment ite,. _mockContainer.TeamMembers.Add(new Data.TeamMember() { Id = 2 }); _mockContainer.AssessmentItems.Add(new Data.AssessmentItem() { TeamMemberId = 2 }); teamLogic.DeleteTeamMember(team.Id, 2); Assert.IsFalse(_mockContainer.TeamMembers.Any(i=>i.Id == 2), "The user was not removed."); Assert.IsFalse(_mockContainer.AssessmentItems.Any(i => i.TeamMemberId == 2), "Assessment Items were not removed."); }
public void TestThatUserWhoCreatesTeamIsSetAsTeamAdmin() { /// var user = System.Security.Principal.WindowsIdentity.GetCurrent(); var identity = new System.Security.Principal.GenericIdentity("TestUser"); var princpal = new System.Security.Principal.GenericPrincipal(identity, new string[] { }); TeamController.CurrentUser = princpal; TeamController teamController = CreateTeamController(); teamController.Request = _request; teamController.User = princpal; Core.Models.Team newTeam = new Core.Models.Team() { Name = Guid.NewGuid().ToString() }; var result = teamController.Post(newTeam); var team = _mockContainer.Teams.Where(i => i.Name == newTeam.Name).FirstOrDefault(); Assert.IsNotNull(team, "Could not find new team"); var teamMember = team.TeamMembers.Where(i => i.UserId == identity.Name).FirstOrDefault(); string allUsers = String.Join(",",team.TeamMembers.Select(i => i.UserId + i.IsAdmin.ToString()).ToArray()); Assert.IsNotNull(teamMember, "User was not assigned to team. The current user is " + identity.Name + " Current Users:" + allUsers); Assert.IsTrue(teamMember.IsAdmin, "User was not created as administrator."); }
public void TestThaYouCannotDeleteTheLastAdminFromAGroup() { var teamLogic = CreateTeamLogicForAdmin(); var team = new Core.Models.Team() { Id = 1, Name = Guid.NewGuid().ToString() }; teamLogic.CreateTeam(team); var user = teamLogic.GetTeamMembers(team.Id).First(); _mockContainer.AssessmentItems.Add(new Data.AssessmentItem() { TeamMemberId = user.Id }); teamLogic.DeleteTeamMember(team.Id, user.Id); }
public void TestThatCreatingADuplicateTeamThrowsException() { _mockContainer.Teams.Add(new Data.Team() { Name = "Test Team"}); TeamController teamController = new TeamController(_teamRepository, _assessmentRepo, _dimensionRepo); Core.Models.Team newTeam = new Core.Models.Team() { Name = _mockContainer.Teams.First().Name }; teamController.Post(newTeam); Assert.Fail("Must not create duplicate teams"); }
public void TestThatCreatingANewTeamIsAllowed() { TeamController teamController = new TeamController(_teamRepository, _assessmentRepo, _dimensionRepo); teamController.Request = _request; Core.Models.Team newTeam = new Core.Models.Team() { Name = Guid.NewGuid().ToString() }; IHttpActionResult result = teamController.Post(newTeam); //Assert.IsTrue(result.StatusCode == System.Net.HttpStatusCode.Created); Assert.IsTrue(_mockContainer.Teams.Where(i => i.Name == newTeam.Name).Count() == 1); }