public void CloneTemplateTest() { MockObjectRepository repo = TestDataGenerator.GenerateMockDataset1(); var user = repo.FindOrAddUser("test.user", repo.FindOrAddOrganization("LCG")); Template firstTemplate = repo.Templates.First(); Template secondTemplate = firstTemplate.CloneTemplate(repo, user.Id); repo.Templates.AddObject(secondTemplate); Assert.AreNotEqual(firstTemplate.Name, secondTemplate.Name, "Title for the first template should be different than the cloned template."); Assert.AreEqual(firstTemplate.Oid + ".1", secondTemplate.Oid, "Expected the second template's oid to have .1 added to it."); // Test that other properties were copied Assert.AreEqual(firstTemplate.ImplementationGuideTypeId, secondTemplate.ImplementationGuideTypeId); Assert.AreEqual(firstTemplate.TemplateTypeId, secondTemplate.TemplateTypeId); Assert.AreEqual(firstTemplate.OwningImplementationGuideId, secondTemplate.OwningImplementationGuideId); Assert.AreEqual(firstTemplate.ImpliedTemplateId, secondTemplate.ImpliedTemplateId); Assert.AreEqual(firstTemplate.PrimaryContext, secondTemplate.PrimaryContext); Assert.AreEqual(firstTemplate.PrimaryContextType, secondTemplate.PrimaryContextType); Assert.AreEqual(firstTemplate.IsOpen, secondTemplate.IsOpen); // Test that making more than 10 copies properly generates the title and oid Template lastCopiedTemplate = null; int count = 1; while (count < 11) { lastCopiedTemplate = firstTemplate.CloneTemplate(repo, user.Id); repo.Templates.AddObject(lastCopiedTemplate); count++; } Assert.AreEqual(firstTemplate.Oid + ".12", lastCopiedTemplate.Oid, "Generated oid for copied templates is not working when there are more than 10 copies."); Assert.AreEqual(firstTemplate.Name + " (Copy 11)", lastCopiedTemplate.Name, "Genrated title for copied templates is not working when there are more than 10 copies."); }
public void CheckPoint_CheckHL7Roles() { MockObjectRepository mockRepo = TestDataGenerator.GenerateMockDataset1(); mockRepo.FindOrAddUser("testuser", mockRepo.FindOrAddOrganization(Helper.AUTH_EXTERNAL)); mockRepo.AddRole("Users"); mockRepo.AddRole("HL7 Members"); mockRepo.AssociateUserWithRole("testuser", mockRepo.FindOrAddOrganization(Helper.AUTH_EXTERNAL).Id, "Users"); //With Role Restriction added, try to add role, Assert role did not get added Role role = mockRepo.Roles.Single(y => y.Name == "HL7 Members"); role.Restrictions.Add(new RoleRestriction() { Role = role, RoleId = role.Id, OrganizationId = mockRepo.FindOrAddOrganization(Helper.AUTH_EXTERNAL).Id, Organization = mockRepo.FindOrAddOrganization(Helper.AUTH_EXTERNAL) }); DBContext.Instance = mockRepo; CheckPoint.Instance.CheckHL7Roles("testuser", "ismember"); User user = mockRepo.Users.SingleOrDefault(y => y.UserName == "testuser" && y.Organization.Name == Helper.AUTH_EXTERNAL); Assert.IsTrue(user.UserName == "testuser"); Assert.IsTrue(user.Roles.Count(y => y.Role.Name == "Users") > 0); Assert.IsFalse(user.Roles.Count(y => y.Role.Name == "HL7 Members") > 0); //Test for: Remove Role Restriction, try to modify role, Assert the role gets added role.Restrictions.Remove(role.Restrictions.SingleOrDefault(y => y.Organization.Name == Helper.AUTH_EXTERNAL)); DBContext.Instance = mockRepo; CheckPoint.Instance.CheckHL7Roles("testuser", "ismember"); Assert.IsTrue(user.UserName == "testuser"); Assert.IsTrue(user.Roles.Count(y => y.Role.Name == "HL7 Members") > 0); //Should the old role be removed? //Assert.IsFalse(user.Roles.Count(y => y.Role.Name == "Users") > 0); }