public void ExecuteWorkflowOnEntityTest()
        {
            OrganizationRequest orgReq = null;
            Guid respId = Guid.NewGuid();
            MExecuteWorkflowResponse exwResp = new MExecuteWorkflowResponse();

            exwResp.IdGet = () => { return(respId); };
            MRetrieveMultipleResponse rtvresp = new MRetrieveMultipleResponse();
            EntityCollection          entcoll = new EntityCollection();

            entcoll.Entities.Add(new Entity());
            rtvresp.EntityCollectionGet = () => { return(entcoll); };
            BCrmServiceClient.AddResponse(typeof(ExecuteWorkflowRequest), exwResp);
            BCrmServiceClient.AddResponse(typeof(RetrieveMultipleRequest), rtvresp);
            BCrmServiceClient.MockCrmCommandExecute();
            MCrmServiceClient.AllInstances.GetDataByKeyFromResultsSetDictionaryOfStringObjectString <Guid>((objwbsvcaction, dict, str) =>
            {
                if (str == "parentworkflowid")
                {
                    return(Guid.Empty);
                }
                else
                {
                    return((Guid)respId);
                }
            });
            Guid result = crmaction.ExecuteWorkflowOnEntity("workflow1", respId);

            Assert.AreEqual(respId, result);
            orgReq = BCrmServiceClient.GetRequest(typeof(ExecuteWorkflowRequest));
            Assert.IsNotNull(((ExecuteWorkflowRequest)orgReq).WorkflowId);
        }
        public void CreateOrUpdatePickListElementTest()
        {
            OrganizationRequest orgReq = null;
            Guid respId = Guid.NewGuid();
            MRetrieveEntityResponse rtventResp = new MRetrieveEntityResponse();
            MEntityMetadata         entmt      = new MEntityMetadata();

            entmt.IsCustomEntityGet      = () => { return(true); };
            rtventResp.EntityMetadataGet = () => { return(entmt); };
            BCrmServiceClient.AddResponse(typeof(RetrieveEntityRequest), rtventResp);
            BCrmServiceClient.MockCrmCommandExecute();
            List <AttributeData> lst1 = new List <AttributeData>();

            lst1.Add(new AttributeData());
            MDynamicEntityUtility.AllInstances.GetAttributeDataByEntityStringStringArray = (obj, str, arrstr) => { return(lst1); };
            List <LocalizedLabel> lst = new List <LocalizedLabel>();

            lst.Add(new LocalizedLabel());
            BCrmServiceClient.MockGetPickListElementFromMetadataEntity();
            bool result = crmaction.CreateOrUpdatePickListElement("account", "name", lst, 1, true);

            Assert.IsTrue(result);
            orgReq = BCrmServiceClient.GetRequest(typeof(InsertOptionValueRequest));
            Assert.IsNotNull(((InsertOptionValueRequest)orgReq).Value);
        }
        public void GetEntityDataByFetchSearchTest()
        {
            OrganizationRequest orgReq = null;
            Guid respId = Guid.NewGuid();
            MRetrieveMultipleResponse rtrResp = new MRetrieveMultipleResponse();
            EntityCollection          entColl = new EntityCollection();

            entColl.Entities.Add(new Entity());
            rtrResp.EntityCollectionGet = () => { return(entColl); };
            MFetchXmlToQueryExpressionResponse ftcrsp = new MFetchXmlToQueryExpressionResponse();

            ftcrsp.QueryGet = () => { return(new QueryExpression()); };
            BCrmServiceClient.AddResponse(typeof(FetchXmlToQueryExpressionRequest), ftcrsp);
            BCrmServiceClient.AddResponse(typeof(RetrieveMultipleRequest), rtrResp);
            BCrmServiceClient.MockCrmCommandExecute();
            string fetch = "<fetch mapping='logical'>";

            fetch += "<entity name='account'><all-attributes/>";
            fetch += "</entity></fetch>";
            Dictionary <string, Dictionary <string, object> > Results = crmaction.GetEntityDataByFetchSearch(fetch);

            Assert.IsNotNull(Results);
            string strCookie;
            bool   blnmoreRecord;

            Results = crmaction.GetEntityDataByFetchSearch(fetch, 1, 1, "", out strCookie, out blnmoreRecord);
            Assert.IsNotNull(Results);
            orgReq = BCrmServiceClient.GetRequest(typeof(RetrieveMultipleRequest));
            Assert.IsNotNull(((RetrieveMultipleRequest)orgReq).Query);
        }
        public void SubmitImportRequestTest()
        {
            Guid respid = Guid.NewGuid();
            OrganizationRequest orgReq = null;
            Guid asncId = Guid.NewGuid();

            MCrmServiceClient.AllInstances.CreateNewRecordStringDictionaryOfStringCrmDataTypeWrapperStringBooleanGuid = (objwbsvcact, dict, str, bln, guid, guid1) =>
            { return(respid); };
            MParseImportResponse prsResponse = new MParseImportResponse();

            prsResponse.AsyncOperationIdGet = () => asncId;
            BCrmServiceClient.AddResponse(typeof(ParseImportRequest), prsResponse);
            BCrmServiceClient.MockCrmCommandExecute();
            Dictionary <string, CrmDataTypeWrapper> newFields = new Dictionary <string, CrmDataTypeWrapper>();

            newFields.Add("name", new CrmDataTypeWrapper("CrudTestAccount", CrmFieldType.String));
            newFields.Add("accountnumber", new CrmDataTypeWrapper("12345", CrmFieldType.String));
            newFields.Add("telephone1", new CrmDataTypeWrapper("555-555-5555", CrmFieldType.String));
            newFields.Add("donotpostalmail", new CrmDataTypeWrapper(true, CrmFieldType.CrmBoolean));
            Guid toupdateId = Guid.NewGuid();

            CrmServiceClient.ImportRequest importRequest = new CrmServiceClient.ImportRequest();
            importRequest.Files.Add(new CrmServiceClient.ImportFileItem());
            DateTime dt     = new DateTime();
            Guid     result = crmaction.SubmitImportRequest(importRequest, dt);

            Assert.AreEqual(respid, result);
            orgReq = BCrmServiceClient.GetRequest(typeof(ImportRecordsImportRequest));
            Assert.IsNotNull(((ImportRecordsImportRequest)orgReq).ImportId);
            orgReq = BCrmServiceClient.GetRequest(typeof(ParseImportRequest));
            Assert.IsNotNull(((ParseImportRequest)orgReq).ImportId);
        }
        public void GetEntityDisplayNamePluralTest()
        {
            Guid respId = Guid.NewGuid();
            MRetrieveEntityResponse orgResp = new MRetrieveEntityResponse();

            orgResp.EntityMetadataGet = () => { return(new EntityMetadata()); };
            BCrmServiceClient.AddResponse(typeof(RetrieveEntityRequest), orgResp);
            BCrmServiceClient.MockCrmCommandExecute();
            string result = crmaction.GetEntityDisplayNamePlural("account");

            Assert.IsNotNull(result);
        }
        public void GetEntityFormIdListByType()
        {
            OrganizationRequest            orgReq = null;
            List <EntityReference>         lstRef = new List <EntityReference>();
            MRetrieveFilteredFormsResponse resp   = new MRetrieveFilteredFormsResponse();

            resp.SystemFormsGet = () => { return(new EntityReferenceCollection()); };
            BCrmServiceClient.AddResponse(typeof(RetrieveFilteredFormsRequest), resp);
            BCrmServiceClient.MockCrmCommandExecute();
            lstRef = crmaction.GetEntityFormIdListByType("contact", CrmServiceClient.FormTypeId.AppointmentBook);
            Assert.IsNotNull(lstRef);
            orgReq = BCrmServiceClient.GetRequest(typeof(RetrieveFilteredFormsRequest));
            Assert.IsNotNull(((RetrieveFilteredFormsRequest)orgReq).EntityLogicalName);
        }
        public void GetEntityMetadata()
        {
            OrganizationRequest     orgReq = null;
            EntityMetadata          EM     = new EntityMetadata();
            MRetrieveEntityResponse resp   = new MRetrieveEntityResponse();

            resp.EntityMetadataGet = () => new EntityMetadata();
            BCrmServiceClient.AddResponse(typeof(RetrieveEntityRequest), resp);
            BCrmServiceClient.MockCrmCommandExecute();
            EM = crmaction.GetEntityMetadata("Account", EntityFilters.Default);
            Assert.IsNotNull(EM);
            orgReq = BCrmServiceClient.GetRequest(typeof(RetrieveEntityRequest));
            Assert.IsNotNull(((RetrieveEntityRequest)orgReq).LogicalName);
        }
        public void GetEntityAttributeMetadataForAttribute()
        {
            OrganizationRequest        orgReq = null;
            AttributeMetadata          AM     = new AttributeMetadata();
            MRetrieveAttributeResponse resp   = new MRetrieveAttributeResponse();

            BCrmServiceClient.AddResponse(typeof(RetrieveAttributeRequest), resp);
            resp.AttributeMetadataGet = () => new AttributeMetadata();
            BCrmServiceClient.MockCrmCommandExecute();
            AM = crmaction.GetEntityAttributeMetadataForAttribute("contact", "attribute");
            Assert.IsNotNull(AM);
            orgReq = BCrmServiceClient.GetRequest(typeof(RetrieveAttributeRequest));
            Assert.IsNotNull(((RetrieveAttributeRequest)orgReq).LogicalName);
            Assert.IsNotNull(((RetrieveAttributeRequest)orgReq).EntityLogicalName);
        }
        public void ImportDataMapToCrmTest()
        {
            OrganizationRequest orgReq = null;
            Guid respId = Guid.NewGuid();
            MImportMappingsImportMapResponse orgResp = new MImportMappingsImportMapResponse();

            orgResp.ImportMapIdGet = () => { return(respId); };
            BCrmServiceClient.AddResponse(typeof(ImportMappingsImportMapRequest), orgResp);
            BCrmServiceClient.MockCrmCommandExecute();
            Guid result = crmaction.ImportDataMapToCrm("samplexml");

            Assert.AreEqual(respId, result);
            orgReq = BCrmServiceClient.GetRequest(typeof(ImportMappingsImportMapRequest));
            Assert.IsNotNull(((ImportMappingsImportMapRequest)orgReq).MappingsXml);
        }
        public void GetEntityDisplayName()
        {
            OrganizationRequest     orgReq = null;
            MRetrieveEntityResponse resp   = new MRetrieveEntityResponse();

            resp.EntityMetadataGet = () => new EntityMetadata();
            BCrmServiceClient.AddResponse(typeof(RetrieveEntityRequest), resp);
            BCrmServiceClient.MockCrmCommandExecute();
            string entityName  = "account";
            string displayName = crmaction.GetEntityDisplayName(entityName);

            Assert.AreEqual(entityName, displayName);
            orgReq = BCrmServiceClient.GetRequest(typeof(RetrieveEntityRequest));
            Assert.AreEqual(entityName, ((RetrieveEntityRequest)orgReq).LogicalName);
        }
        public void CreateNewActivityEntryTest()
        {
            OrganizationRequest orgReq = null;
            Guid            respId     = Guid.NewGuid();
            MCreateResponse orgResp    = new MCreateResponse();

            orgResp.idGet = () => respId;
            BCrmServiceClient.AddResponse(typeof(CreateRequest), orgResp);
            BCrmServiceClient.MockCrmCommandExecute();
            string activityName = "fax";
            Guid   id           = crmaction.CreateNewActivityEntry(activityName, "", respId, "testmail", "", "");

            Assert.AreEqual(respId, id);
            orgReq = BCrmServiceClient.GetRequest(typeof(CreateRequest));
            Assert.AreEqual(activityName, ((CreateRequest)orgReq).Target.LogicalName);
        }
        public void GetEntityTypeCodeTest()
        {
            OrganizationRequest     orgReq      = null;
            MRetrieveEntityResponse retriveResp = new MRetrieveEntityResponse();
            MEntityMetadata         ent         = new MEntityMetadata();

            ent.ObjectTypeCodeGet         = () => { return(1); };
            retriveResp.EntityMetadataGet = () => { return(ent); };
            BCrmServiceClient.AddResponse(typeof(RetrieveEntityRequest), retriveResp);
            BCrmServiceClient.MockCrmCommandExecute();
            string entityName = "account";
            string result     = crmaction.GetEntityTypeCode(entityName);

            Assert.IsNotNull(result);
            orgReq = BCrmServiceClient.GetRequest(typeof(RetrieveEntityRequest));
            Assert.AreEqual(entityName, ((RetrieveEntityRequest)orgReq).LogicalName);
        }
        public void GetEntityDataByLinkedSearchTest()
        {
            OrganizationRequest orgReq = null;
            Guid respId = Guid.NewGuid();

            MRetrieveMultipleResponse rtrResp = new MRetrieveMultipleResponse();
            EntityCollection          entColl = new EntityCollection();

            entColl.Entities.Add(new Entity());
            rtrResp.EntityCollectionGet = () => { return(entColl); };
            BCrmServiceClient.AddResponse(typeof(RetrieveMultipleRequest), rtrResp);
            BCrmServiceClient.MockCrmCommandExecute();
            Dictionary <string, Dictionary <string, object> > result = crmaction.GetEntityDataByLinkedSearch("account", new Dictionary <string, string>(), "contact", new Dictionary <string, string>(), "", "", "", new CrmServiceClient.LogicalSearchOperator(), new List <string>());

            Assert.IsNotNull(result);
            orgReq = BCrmServiceClient.GetRequest(typeof(RetrieveMultipleRequest));
            Assert.IsNotNull(((RetrieveMultipleRequest)orgReq).Query);
        }
        public void GetAllAttributesForEntity()
        {
            OrganizationRequest        orgReq = null;
            List <AttributeMetadata>   AM     = new List <AttributeMetadata>();
            MRetrieveAttributeResponse resp   = new MRetrieveAttributeResponse();

            resp.AttributeMetadataGet = () => new AttributeMetadata();
            MEntityMetadata metadata = new MEntityMetadata();

            metadata.AttributesGet = () => new AttributeMetadata[1] {
                new AttributeMetadata()
            };
            MMetadataUtility.AllInstances.GetEntityMetadataString = (objMutility, str) => { return(metadata); };
            BCrmServiceClient.AddResponse(typeof(RetrieveAttributeRequest), resp);
            BCrmServiceClient.MockCrmCommandExecute();
            AM = crmaction.GetAllAttributesForEntity("contact");
            Assert.IsNotNull(AM);
        }
        public void GetAllEntityMetadata()
        {
            Guid respId = Guid.NewGuid();
            MRetrieveAllEntitiesResponse resp = new MRetrieveAllEntitiesResponse();
            MEntityMetadata mtdata            = new MEntityMetadata();

            mtdata.ObjectTypeCodeGet = () => 1;
            mtdata.LogicalNameGet    = () => "account";
            resp.EntityMetadataGet   = () => new EntityMetadata[1] {
                mtdata
            };
            BCrmServiceClient.AddResponse(typeof(RetrieveAllEntitiesRequest), resp);
            BCrmServiceClient.MockCrmCommandExecute();
            List <EntityMetadata> LM = new List <EntityMetadata>();

            LM = crmaction.GetAllEntityMetadata();
            Assert.IsNotNull(LM);
        }
        public void GetGlobalOptionSetMetadata()
        {
            OrganizationRequest orgReq = null;
            Guid respId = Guid.NewGuid();
            MRetrieveOptionSetResponse resp = new MRetrieveOptionSetResponse();

            resp.BehaveAsDefaultValue();
            resp.OptionSetMetadataGet = () => { return(new OptionSetMetadata()); };
            MRetrieveResponse Rresp = new MRetrieveResponse();

            Rresp.EntityGet = () => new Entity();
            Microsoft.Xrm.Sdk.Metadata.OptionSetMetadata M = null;
            BCrmServiceClient.AddResponse(typeof(RetrieveOptionSetRequest), resp);
            BCrmServiceClient.AddResponse(typeof(RetrieveRequest), Rresp);
            BCrmServiceClient.MockCrmCommandExecute();
            M      = crmaction.GetGlobalOptionSetMetadata("online");
            orgReq = BCrmServiceClient.GetRequest(typeof(RetrieveOptionSetRequest));
            Assert.IsNotNull(((RetrieveOptionSetRequest)orgReq).Name);
        }
        public void AddEntityToQueueTest()
        {
            OrganizationRequest orgReq = null;
            Guid respId = Guid.NewGuid();
            MRetrieveMultipleResponse rtvResp = new MRetrieveMultipleResponse();
            EntityCollection          entcol  = new EntityCollection();

            entcol.Entities.Add(new Entity());
            rtvResp.EntityCollectionGet = () => { return(entcol); };
            BCrmServiceClient.AddResponse(typeof(RetrieveMultipleRequest), rtvResp);
            BCrmServiceClient.MockCrmCommandExecute();
            MCrmServiceClient.AllInstances.GetDataByKeyFromResultsSetDictionaryOfStringObjectString <Guid>((objsvcact, dct, str) => { return(respId); });
            bool result = crmaction.AddEntityToQueue(respId, "account", "que", respId);

            Assert.IsTrue(result);
            orgReq = BCrmServiceClient.GetRequest(typeof(AddToQueueRequest));
            Assert.IsNotNull(((AddToQueueRequest)orgReq).DestinationQueueId);
            Assert.IsNotNull(((AddToQueueRequest)orgReq).Target);
        }
        public void GetEntityDataByIdTest()
        {
            OrganizationRequest orgReq = null;
            Guid respId = Guid.NewGuid();
            Dictionary <string, object> MapData = null;
            MRetrieveResponse           updResp = new MRetrieveResponse();

            updResp.EntityGet = () => new Entity();
            BCrmServiceClient.AddResponse(typeof(RetrieveRequest), updResp);
            BCrmServiceClient.MockCrmCommandExecute();
            List <string> fldList = new List <string>();

            fldList.Add("name");
            fldList.Add("source");
            fldList.Add("importmapid");
            MapData = crmaction.GetEntityDataById("account", respId, fldList);
            Assert.IsNotNull(MapData);
            orgReq = BCrmServiceClient.GetRequest(typeof(RetrieveRequest));
            Assert.IsNotNull(((RetrieveRequest)orgReq).ColumnSet);
        }
        public void GetActivitiesByTest()
        {
            OrganizationRequest orgReq  = null;
            MRollupResponse     orgResp = new MRollupResponse();
            EntityCollection    entcol  = new EntityCollection();

            entcol.Entities.Add(new Entity());
            orgResp.EntityCollectionGet = () => { return(entcol); };
            BCrmServiceClient.AddResponse(typeof(RollupRequest), orgResp);
            BCrmServiceClient.MockCrmCommandExecute();
            Guid          respId  = Guid.NewGuid();
            Guid          entId   = Guid.NewGuid();
            List <string> fldList = new List <string>();

            fldList.Add("name");
            fldList.Add("source");
            fldList.Add("importmapid");
            CrmServiceClient.LogicalSearchOperator  lgsrc   = new CrmServiceClient.LogicalSearchOperator();
            List <CrmServiceClient.CrmSearchFilter> fltList = new List <CrmServiceClient.CrmSearchFilter>();

            fltList.Add(new CrmServiceClient.CrmSearchFilter());
            Dictionary <string, CrmServiceClient.LogicalSortOrder> dct = new Dictionary <string, CrmServiceClient.LogicalSortOrder>();
            Dictionary <string, string> lg = new Dictionary <string, string>();
            string pagecookie;
            bool   ismore;
            Dictionary <string, Dictionary <string, object> > result = crmaction.GetActivitiesBy("account", entId, fldList, lgsrc, fltList, dct, 1, 1, "", out pagecookie, out ismore);

            Assert.IsNotNull(result);
            orgReq = BCrmServiceClient.GetRequest(typeof(RollupRequest));
            Assert.IsNotNull(((RollupRequest)orgReq).Query);
            Assert.IsNotNull(((RollupRequest)orgReq).Target);
            Assert.AreEqual(RollupType.Related, ((RollupRequest)orgReq).RollupType);
            BCrmServiceClient.ClearRequest();
            result = crmaction.GetActivitiesBy("account", entId, fldList, lgsrc, lg, dct, 1, 1, "", out pagecookie, out ismore);
            Assert.IsNotNull(result);
            orgReq = BCrmServiceClient.GetRequest(typeof(RollupRequest));
            Assert.IsNotNull(((RollupRequest)orgReq).Query);
            Assert.IsNotNull(((RollupRequest)orgReq).Target);
            Assert.AreEqual(RollupType.Related, ((RollupRequest)orgReq).RollupType);
        }
        public void GetEntityNameTest()
        {
            MRetrieveAllEntitiesResponse retriveResp = new MRetrieveAllEntitiesResponse();
            MEntityMetadata ent = new MEntityMetadata();

            Nullable <int> no = 1;

            ent.ObjectTypeCodeGet = () => { return(no); };

            string st = "";

            ent.LogicalNameGet = () => { return(st); };

            EntityMetadata[] entmt = { ent };
            retriveResp.EntityMetadataGet = () => { return(entmt); };
            BCrmServiceClient.AddResponse(typeof(RetrieveAllEntitiesRequest), retriveResp);
            BCrmServiceClient.MockCrmCommandExecute();

            string result = crmaction.GetEntityName(1);

            Assert.IsNotNull(result);
        }
        public void CreateNewRecordTest()
        {
            OrganizationRequest orgReq = null;
            Guid            respId     = Guid.NewGuid();
            MCreateResponse orgResp    = new MCreateResponse();

            orgResp.idGet = () => respId;
            BCrmServiceClient.AddResponse(typeof(CreateRequest), orgResp);
            BCrmServiceClient.MockCrmCommandExecute();
            Dictionary <string, CrmDataTypeWrapper> newFields = new Dictionary <string, CrmDataTypeWrapper>();

            newFields.Add("name", new CrmDataTypeWrapper("CrudTestAccount", CrmFieldType.String));
            newFields.Add("accountnumber", new CrmDataTypeWrapper("12345", CrmFieldType.String));
            newFields.Add("telephone1", new CrmDataTypeWrapper("555-555-5555", CrmFieldType.String));
            newFields.Add("donotpostalmail", new CrmDataTypeWrapper(true, CrmFieldType.CrmBoolean));
            Guid result = crmaction.CreateNewRecord("account", newFields);

            Assert.AreEqual(result, respId);
            result = crmaction.CreateNewRecord("", new Dictionary <string, CrmDataTypeWrapper>());
            Assert.AreNotEqual(result, respId);
            orgReq = BCrmServiceClient.GetRequest(typeof(CreateRequest));
            Assert.IsNotNull(((CreateRequest)orgReq).Target);
        }