public void PostAccountwo_AnnualRevenue_Test_AnnualRevenue() { //setup var ACCOUNT_ID = Guid.Parse("{7424D001-11D4-4B35-8798-26A46ED733CC}"); Context.ProxyTypesAssembly = Assembly.GetAssembly(typeof(ProxyTypesAssembly)); Context.Data.Clear(); var accountSetup = new Shared.Entities.Account() { AccountId = ACCOUNT_ID, Revenue = 112233m }; Context.Data.Add( Shared.Entities.Account.EntityLogicalName, new Dictionary <Guid, Entity> { { ACCOUNT_ID, accountSetup.GetCreateEntity() } }); PluginContext.InputParameters["Target"] = new EntityReference(Shared.Entities.Account.EntityLogicalName, ACCOUNT_ID); PluginContext.InputParameters["AccountNumber"] = "acc-123"; PluginContext.OutputParameters["AnnualRevenue"] = 0m; //run var plugin = Context.ExecutePluginWith <PostAccountwo_AnnualRevenueSynchronous>(PluginContext); //result var resultTarget = (Decimal)PluginContext.OutputParameters["AnnualRevenue"]; Assert.AreEqual(12345m, resultTarget); }
public void PostAccountCreate_Test_Create_Contact() { //setup Context.ProxyTypesAssembly = Assembly.GetAssembly(typeof(ProxyTypesAssembly)); Context.Data.Clear(); var ACCOUNT_ID = Guid.Parse("{A7EF9A9B-F878-4CD1-B7BB-30470D60FDB7}"); var target = new Shared.Entities.Account { AccountId = ACCOUNT_ID, Name = "Account Name", Telephone1 = "12345678" }; PluginContext.InputParameters["Target"] = target.GetCreateEntity(); //run var plugin = Context.ExecutePluginWith <PostAccountCreateSynchronous>(PluginContext); //result var fetchData = new { parentcustomerid = ACCOUNT_ID }; var fetchXml = $@" <fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'> <entity name='contact'> <attribute name='contactid'/> <attribute name='parentcustomerid'/> <attribute name='address1_addresstypecode'/> <attribute name='telephone1'/> <attribute name='firstname'/> <order attribute='parentcustomerid' descending='false'/> <filter type='and'> <condition attribute='parentcustomerid' operator='eq' value='{fetchData.parentcustomerid}'/> </filter> </entity> </fetch> "; var rows = Context.GetFakedOrganizationService().RetrieveMultiple(new FetchExpression(fetchXml)); if (rows.Entities.Count != 1) { Assert.Fail("Not found contact record"); } var contact = new Shared.Entities.Contact(rows.Entities[0]); Assert.AreEqual("Account Name", contact.FirstName); Assert.AreEqual("12345678", contact.Telephone1); Assert.AreEqual(ACCOUNT_ID, contact.ParentCustomerId.Id); Assert.AreEqual(Address1_AddressTypeCode.Other, contact.Address1_AddressTypeCode); }
public void PreAccountCreate_Test_AccountName_Is_Null() { //setup Context.ProxyTypesAssembly = Assembly.GetAssembly(typeof(ProxyTypesAssembly)); Context.Data.Clear(); var target = new Shared.Entities.Account { AccountId = Guid.NewGuid() }; PluginContext.InputParameters["Target"] = target.GetCreateEntity(); //run var plugin = Context.ExecutePluginWith <PreAccountCreateSynchronous>(PluginContext); //result var resultTarget = (Entity)PluginContext.InputParameters["Target"]; var account = new Shared.Entities.Account(resultTarget); Assert.IsNull(account.Name); }