public void Execute_ExecuteRequiredMethods() { var newLeadServiceMock = new NewLeadServiceMock(); Mock <IServicesFactory> servicesFactory = new Mock <IServicesFactory>(); servicesFactory.Setup(f => f.Get <INewLeadService>()).Returns(newLeadServiceMock); var container = new Container(); container.Register <IServicesFactory>(() => servicesFactory.Object); Mock <IPluginExecutionContext> pluginContextMock = new Mock <IPluginExecutionContext>(); pluginContextMock.SetupGet(c => c.PrimaryEntityName).Returns(Lead.EntityLogicalName); pluginContextMock.SetupGet(c => c.MessageName).Returns("Create"); pluginContextMock.SetupGet(c => c.InputParameters).Returns(new ParameterCollection() { new KeyValuePair <string, object>(PluginBase.TargetAttributeName, new Lead()) }); var plugin = new HandleImportantLeadPlugin(String.Empty, String.Empty); plugin.Execute(pluginContextMock.Object, container); Assert.IsTrue(newLeadServiceMock.TryCreateTaskForLargeEmployeesNumberLeadsExecuted); }
public void IsValid_InvalidMessage_ReturnsFalse() { Mock <IPluginExecutionContext> pluginContextMock = new Mock <IPluginExecutionContext>(); pluginContextMock.SetupGet(c => c.PrimaryEntityName).Returns(Lead.EntityLogicalName); pluginContextMock.SetupGet(c => c.MessageName).Returns("Delete"); var plugin = new HandleImportantLeadPlugin(String.Empty, String.Empty); var isValid = plugin.IsContextValid(pluginContextMock.Object); Assert.IsFalse(isValid); }