public void AssociateManyToManyEntity() { ManyToManyDetails details = new ManyToManyDetails { Entity1IntersectAttribute = "contactid", Entity2IntersectAttribute = "accountid", IsManyToMany = true, SchemaName = "accountcontact" }; MockEntityMetadataCache.Setup(a => a.GetManyToManyEntityDetails(It.IsAny <string>())) .Returns(details); testOrgService.ExecutionResponse = new AssociateResponse(); systemUnderTest = new EntityRepositorySingle(MockOrganizationService.Object, MockRetryExecutor.Object, MockEntityMetadataCache.Object); var response = new UpdateResponse(); MockOrganizationService.Setup(a => a.Execute(It.IsAny <OrganizationRequest>())) .Returns(response); FluentActions.Invoking(() => systemUnderTest.AssociateManyToManyEntity(entities)) .Should() .NotThrow(); MockOrganizationService.VerifyAll(); }
/// <summary> /// Associates Entities using AssociateRequest and ExecuteMultiple. /// </summary> /// <param name="entities">entities.</param> public void AssociateManyToManyEntity(List <EntityWrapper> entities) { ExecuteMultipleWithRetry(entities, wrapper => { ManyToManyDetails details = metadataCache.GetManyToManyEntityDetails(wrapper.LogicalName); return(new AssociateRequest { Target = new EntityReference(details.Entity1LogicalName, wrapper.OriginalEntity.GetAttributeValue <Guid>(details.Entity1IntersectAttribute)), Relationship = new Relationship(details.SchemaName), RelatedEntities = new EntityReferenceCollection() { new EntityReference( details.Entity2LogicalName, wrapper.OriginalEntity.GetAttributeValue <Guid>(details.Entity2IntersectAttribute)) } }); }); }
public void AssociateManyToManyEntity() { testOrgService.ExecutionResponse = new RetrieveEntityResponse(); MockRetryExecutor.Setup(a => a.Execute(It.IsAny <Func <ExecuteMultipleResponse> >())) .Returns(requestResult); ManyToManyDetails details = new ManyToManyDetails { Entity1IntersectAttribute = "contactid", Entity2IntersectAttribute = "accountid", IsManyToMany = true, SchemaName = "accountcontact" }; MockEntityMetadataCache.Setup(a => a.GetManyToManyEntityDetails(It.IsAny <string>())) .Returns(details); FluentActions.Invoking(() => systemUnderTest.AssociateManyToManyEntity(entities)) .Should() .NotThrow(); MockRetryExecutor.VerifyAll(); MockEntityMetadataCache.VerifyAll(); }