Esempio n. 1
0
        public void When_ContactIsBeingUpdatedAndMandatoryFieldsAreSpecified_Expect_PluginNotToFail()
        {
            var ctx      = new XrmFakedContextWithProxy();
            var preImage = TestContactBase;

            preImage.Attributes.Remove("mobilephone");
            var target = TestContactBase.Clone <Contact>();

            target.Attributes.Remove("emailaddress");
            var pluginCtx = new UpdatePreValidationSyncBase(ctx)
            {
                TargetEntity = target,
                PreImage     = preImage
            };

            var exc = Record.Exception(
                () =>
                ctx.ExecutePluginWithConfigurations <AdvancedPluginDemo.Plugins.Bound.Contact.Update>(
                    pluginCtx, string.Empty, string.Empty));

            Assert.Null(exc);
        }
Esempio n. 2
0
        public void When_ContactIsBeingUpdatedAndMandatoryFieldIsNotSpecified_Expect_PluginToFail(string fieldName)
        {
            var ctx      = new XrmFakedContextWithProxy();
            var preImage = TestContactBase;
            var target   = TestContactBase.Clone <Contact>();

            preImage[fieldName] = null;
            target.Attributes.Remove(fieldName);

            var pluginCtx = new UpdatePreValidationSyncBase(ctx)
            {
                TargetEntity = target,
                PreImage     = preImage
            };

            var exc = Assert.Throws <InvalidPluginExecutionException>(
                () =>
                ctx.ExecutePluginWithConfigurations <AdvancedPluginDemo.Plugins.Bound.Contact.Update>(
                    pluginCtx, string.Empty, string.Empty));

            var expectedMessage = string.Format(CommonConstants.MandatoryFieldExceptionMessageTemplate, fieldName);

            Assert.Contains(expectedMessage, exc.Message);
        }