public void When_getting_a_default_context_shared_variables_can_be_accessed_from_a_plugin() { var context = new XrmFakedContext(); var pluginContext = context.GetDefaultPluginContext(); pluginContext.SharedVariables.Add("key", "somevalue"); Assert.DoesNotThrow(() =>context.ExecutePluginWith<TestSharedVariablesPropertyPlugin>(pluginContext)); }
public void When_executing_a_plugin_primaryentityname_exists_in_the_context() { var context = new XrmFakedContext(); var pluginContext = context.GetDefaultPluginContext(); pluginContext.PrimaryEntityName = "Account"; pluginContext.MessageName = "Create"; pluginContext.Stage = 20; var entity = new Entity(); context.ExecutePluginWith<PreAccountCreate>(pluginContext); Assert.True(true); }
public void When_A_Plugin_Is_Executed_With_Configurations_But_Does_Not_Implement_Constructor_Throw_Exception() { var fakedContext = new XrmFakedContext(); var guid1 = Guid.NewGuid(); var target = new Entity("contact") { Id = guid1 }; var inputParams = new ParameterCollection { new KeyValuePair<string, object>("Target", target) }; var unsecureConfiguration = "Unsecure Configuration"; var secureConfiguration = "Secure Configuration"; //Execute our plugin against the selected target var plugCtx = fakedContext.GetDefaultPluginContext(); plugCtx.InputParameters = inputParams; Assert.Throws<ArgumentException>(() => fakedContext.ExecutePluginWithConfigurations<FollowupPlugin>(plugCtx, unsecureConfiguration, secureConfiguration)); }
public void When_initializing_the_context_with_Properties_Plugins_Can_Access_It() { var context = new XrmFakedContext(); ParameterCollection inputParameters = new ParameterCollection(); inputParameters.Add("Target", new Entity()); var plugCtx = context.GetDefaultPluginContext(); plugCtx.MessageName = "Create"; plugCtx.InputParameters = inputParameters; Assert.DoesNotThrow(() => context.ExecutePluginWith<TestContextPlugin>(plugCtx)); }
public void When_A_Plugin_Is_Executed_Configurations_Can_Be_Used() { var fakedContext = new XrmFakedContext(); var guid1 = Guid.NewGuid(); var target = new Entity("contact") { Id = guid1 }; var inputParams = new ParameterCollection { new KeyValuePair<string, object>("Target", target) }; var unsecureConfiguration = "Unsecure Configuration"; var secureConfiguration = "Secure Configuration"; //Execute our plugin against the selected target var plugCtx = fakedContext.GetDefaultPluginContext(); plugCtx.InputParameters = inputParams; fakedContext.ExecutePluginWithConfigurations<ConfigurationPlugin>(plugCtx, unsecureConfiguration, secureConfiguration); Assert.True(target.Contains("unsecure")); Assert.True(target.Contains("secure")); Assert.Equal((string)target["unsecure"], unsecureConfiguration); Assert.Equal((string)target["secure"], secureConfiguration); }