public void Update_GivenNewUsersAttributes_CreateUserObjectReturnSuccess() { var extension = Make_WayfProfileExtension(); var user = new UserInfo { Guid = new Guid("63a0348b-ab4b-8847-9c71-2d0b4771b0fe"), Email = "*****@*****.**" }; var userFolder = new Folder { ID = 34 }; PortalRequest.SetupGet(r => r.User).Returns(Make_UserManager()); PortalRepository.Setup(r => r.UserInfoGet(user.Guid, null, null, null)).Returns(new List<UserInfo>{user}); McmRepository.Setup(r => r.FolderGet(null, null, null)).Returns(Make_Folders()); McmRepository.Setup(r => r.FolderCreate(user.Guid, null, user.Guid.ToString(), 90, Settings.UserFolderTypeId)).Returns(userFolder.ID).Verifiable(); McmRepository.Setup(r => r.ObjectCreate(user.Guid, Settings.UserObjectTypeId, userFolder.ID)).Returns(1).Verifiable(); McmRepository.Setup(r => r.MetadataSet(user.Guid, It.IsAny<Guid>(), Settings.UserProfileMetadataSchemaGuid, Settings.UserProfileLanguageCode, 0, It.Is<XDocument>(x => x.ToString(SaveOptions.DisableFormatting) == CHAOS_PROFILE), user.Guid)).Returns(1).Verifiable(); var result = extension.Update(user.Guid, WAYF_ATTRIBUTES); McmRepository.Verify(); Assert.That(result, Is.Not.Null); Assert.That(result.Value, Is.EqualTo(1)); }
public void SystemPermissionsEnum_SystemPermissionsIsFour_ShouldHaveManageFlag() { var userInfo = new UserInfo(); userInfo.SystemPermissions = 4; var actual = userInfo.SystemPermissonsEnum; Assert.That(actual.HasFlag(SystemPermissons.Manage), Is.True); }
public void Create_WithPermission_CallMcmRepositoryAndReturnTheSchema() { var extension = this.Make_MetadMetadataSchemaExtension(); var schema = Make_MetadataSchema(); var userInfo = new UserInfo { SystemPermissonsEnum = SystemPermissons.Manage, Guid = new Guid("c0b231e9-7d98-4f52-885e-af4837faa352") }; var groupGuids = new Guid[0]; PortalRequest.SetupGet(p => p.User).Returns(userInfo); McmRepository.Setup(m => m.MetadataSchemaGet(userInfo.Guid, groupGuids, schema.Guid, MetadataSchemaPermission.Read)).Returns(new[] { schema }); var result = extension.Create(schema.Name, schema.Schema, schema.Guid); Assert.AreEqual(schema, result); }
public void Update_GivenExistingUsersAttributesWithChanges_UpdateUserObjectReturnSuccess() { var extension = Make_WayfProfileExtension(); var user = new UserInfo { Guid = new Guid("63a0348b-ab4b-8847-9c71-2d0b4771b0fe"), Email = "*****@*****.**" }; var existingMetadata = new Metadata { Guid = new Guid("70a0348b-ab4b-8847-9c71-2d0b4771b0ff"), MetadataSchemaGuid = Settings.UserProfileMetadataSchemaGuid, MetadataXml = XDocument.Parse("<CHAOS.Profile></CHAOS.Profile>"), RevisionID = 3 }; var userObject = new Mcm.Data.Dto.Object { Guid = user.Guid, Metadatas = new List<Metadata> { new Metadata{Guid = new Guid("70a0348b-ab4b-8847-0000-2d0b4771b0ff")}, existingMetadata } }; PortalRequest.SetupGet(r => r.User).Returns(Make_UserManager()); PortalRepository.Setup(r => r.UserInfoGet(user.Guid, null, null, null)).Returns(new List<UserInfo> { user }); McmRepository.Setup(r => r.ObjectGet(user.Guid, true, false, false, false, false)).Returns(userObject).Verifiable(); McmRepository.Setup(r => r.MetadataSet(user.Guid, existingMetadata.Guid, Settings.UserProfileMetadataSchemaGuid, Settings.UserProfileLanguageCode, 4, It.Is<XDocument>(x => x.ToString(SaveOptions.DisableFormatting) == CHAOS_PROFILE), user.Guid)).Returns(1).Verifiable(); var result = extension.Update(user.Guid, WAYF_ATTRIBUTES); McmRepository.Verify(); Assert.That(result, Is.Not.Null); Assert.That(result.Value, Is.EqualTo(1)); }
public void Update_GivenExistingUsersAttributesWithSomeEmptyProperties_UpdateUserObjectReturnSuccess() { var extension = Make_WayfProfileExtension(); const string expectedXmlString = "<CHAOS.Profile><Name>Jens farmer</Name><Title>Walker</Title><About></About><Organization>Institut</Organization><Emails><Email>[email protected]</Email></Emails><Phonenumbers><Phonenumber></Phonenumber></Phonenumbers><Websites><Website></Website></Websites><Skype></Skype><LinkedIn></LinkedIn><Twitter></Twitter><Address></Address><City></City><ZipCode></ZipCode><Country>Denmark</Country></CHAOS.Profile>"; var user = new UserInfo { Guid = new Guid("63a0348b-ab4b-8847-9c71-2d0b4771b0fe"), Email = "*****@*****.**" }; var existingMetadata = new Metadata { Guid = new Guid("70a0348b-ab4b-8847-9c71-2d0b4771b0ff"), MetadataSchemaGuid = Settings.UserProfileMetadataSchemaGuid, MetadataXml = XDocument.Parse("<CHAOS.Profile><Name></Name><Title>Walker</Title><About></About><Organization>Institut</Organization><Emails><Email></Email></Emails><Phonenumbers><Phonenumber></Phonenumber></Phonenumbers><Websites><Website></Website></Websites><Skype></Skype><LinkedIn></LinkedIn><Twitter></Twitter><Address></Address><City></City><ZipCode></ZipCode><Country>Denmark</Country></CHAOS.Profile>"), RevisionID = 3 }; var userObject = new Mcm.Data.Dto.Object { Guid = user.Guid, Metadatas = new List<Metadata> { new Metadata{Guid = new Guid("70a0348b-ab4b-8847-0000-2d0b4771b0ff")}, existingMetadata } }; PortalRequest.SetupGet(r => r.User).Returns(Make_UserManager()); PortalRepository.Setup(r => r.UserInfoGet(user.Guid, null, null, null)).Returns(new List<UserInfo> { user }); McmRepository.Setup(r => r.ObjectGet(user.Guid, true, false, false, false, false)).Returns(userObject).Verifiable(); McmRepository.Setup(r => r.MetadataSet(user.Guid, existingMetadata.Guid, Settings.UserProfileMetadataSchemaGuid, Settings.UserProfileLanguageCode, 4, It.Is<XDocument>(x => x.ToString(SaveOptions.DisableFormatting) == expectedXmlString), user.Guid)).Returns(1).Verifiable(); var result = extension.Update(user.Guid, PARTIAL_WAYF_ATTRIBUTES); McmRepository.Verify(); Assert.That(result, Is.Not.Null); Assert.That(result.Value, Is.EqualTo(1)); }
public void Set_GivenValidProfileResultButMetadataDoesntExist_SetMetadata() { var extension = Make_ProfileExtension(); var user = new UserInfo {Guid = new Guid("10000000-0000-0000-0000-000000000001")}; PortalRequest.Setup(p => p.User).Returns(user); McmRepository.Setup( m => m.ObjectGet(new Guid("10000000-0000-0000-0000-000000000001"), true, false, false, false, false)) .Returns(new Object()); var result = extension.Set(new ProfileResult{Name = "John Doe", Emails = new []{"*****@*****.**"}}); Assert.That(result.WasSuccess, Is.True); McmRepository.Verify(m => m.MetadataSet(user.Guid, It.IsAny<Guid>(), It.IsAny<Guid>(), "da", 0, It.IsAny<XDocument>(), user.Guid)); }
public void Set_GivenValidProfileResult_SetMetadata() { var extension = Make_ProfileExtension(); var user = new UserInfo {Guid = new Guid("10000000-0000-0000-0000-000000000001")}; PortalRequest.Setup(p => p.User).Returns(user); McmRepository.Setup( m => m.ObjectGet(new Guid("10000000-0000-0000-0000-000000000001"), true, false, false, false, false)) .Returns(new Object { Metadatas = new[]{new Metadata { MetadataXml = XDocument.Parse("<CHAOS.Profile><Name>John Doe</Name><Title>Phd</Title><About>about text</About><Organization>DTU</Organization><Emails><Email>[email protected]</Email></Emails><Phonenumbers><String>(+45) 8888 8888</String></Phonenumbers><Websites><Website>www.example.com</Website></Websites><Skype>john.dtu.doe</Skype><LinkedIn>link</LinkedIn><Twitter>link</Twitter><Address>street and number</Address><City>city name</City><Zipcode>1234</Zipcode><Country>DK</Country></CHAOS.Profile>") }} }); var result = extension.Set(new ProfileResult{Name = "John Doe"}); Assert.That(result.WasSuccess, Is.True); McmRepository.Verify(m => m.MetadataSet(user.Guid, It.IsAny<Guid>(), It.IsAny<Guid>(), "da", 0, It.IsAny<XDocument>(), user.Guid)); }