public GroupSaveViewModel PostSave(EasyADGroup group) { var groupManager = ManagerFactory.GetManager(); string message = ""; if (!ValidateGroup(group.Name, groupManager, ref message)) { return(FailedSave(message)); } if (!ValidUserType(group.UserType)) { return(FailedSave("Invalid User Type!")); } if (!ValidateSections(group.Sections, ref message)) { return(FailedSave(message)); } var repo = new EasyADRepository(DatabaseContext.Database, DatabaseContext.SqlSyntax); var handler = new SaveGroupHandler(repo, groupManager, Services.UserService); var groupId = handler.Handle(group); return(new GroupSaveViewModel { GroupId = groupId, Success = true, Message = "Group created!" }); }
public void TestSaveGroupHandler() { //Arrange var handler = new SaveGroupHandler(Repo, Manager, Services.UserService); var groupName = "AD-Editors"; Manager.AddUsers(groupName, new EasyADUser { Login = "******", DiplayName = "User A", Email = "usera@local" } ); var group = new EasyADGroup { Name = groupName, UserType = AllUserTypes["Editors"], Sections = string.Join(";", AllSections["Content"], AllSections["Media"]) }; //Act handler.Handle(group); var groups = Repo.GetAll(); var user = Services.UserService.GetByUsername("userA"); //Assert Assert.AreEqual(1, groups.Count()); Assert.AreEqual(groupName, groups.First().Name); Assert.IsNotNull(user); Assert.AreEqual("User A", user.Name); Assert.AreEqual("usera@local", user.Email); Assert.AreEqual(group.UserType, user.UserType.Id); Assert.AreEqual(2, user.AllowedSections.Count()); Assert.IsTrue(user.AllowedSections.Contains(AllSections["Content"])); Assert.IsTrue(user.AllowedSections.Contains(AllSections["Media"])); }