public async Task ActivityIsValid_WhenIsNotConfigured_ReturnsFalse()
        {
            ObjectFactory.Configure(x => x.For <IDocuSignManager>().Use(DocuSignActivityFixtureData.DocuSignManagerWithoutTemplates()));
            var target          = New <Get_DocuSign_Template_v1>();
            var activityContext = FixtureData.TestActivityContext1();
            var result          = await Validate(target, activityContext);

            AssertErrorMessage(result, DocuSignValidationUtils.ControlsAreNotConfiguredErrorMessage);
        }
        public async Task ActivityIsValid_WhenNoEnvelopeConditionIsSelected_ReturnsFalse()
        {
            ObjectFactory.Configure(x => x.For <IDocuSignManager>().Use(DocuSignActivityFixtureData.DocuSignManagerWithoutTemplates()));
            var target          = New <Monitor_DocuSign_Envelope_Activity_v1>();
            var activityContext = FixtureData.TestActivityContext1();
            await target.Configure(activityContext);

            SetNotificationSelected(activityContext.ActivityPayload);
            var result = await Validate(target, activityContext);

            AssertErrorMessage(result, "At least one envelope option must be selected");
        }
        public async Task ActivityIsValid_WhenTemplateMustBeSetButThereAreNoTemplates_ReturnsFalse()
        {
            ObjectFactory.Configure(x => x.For <IDocuSignManager>().Use(DocuSignActivityFixtureData.DocuSignManagerWithoutTemplates()));
            var target          = New <Monitor_DocuSign_Envelope_Activity_v1>();
            var activityContext = FixtureData.TestActivityContext1();
            await target.Configure(activityContext);

            SetNotificationSelected(activityContext.ActivityPayload);
            SetTemplateConditionSelected(activityContext.ActivityPayload);
            var result = await Validate(target, activityContext);

            AssertErrorMessage(result, DocuSignValidationUtils.NoTemplateExistsErrorMessage);
        }
        public async Task ActivityIsValid_WhenTemplatetIsSelected_ReturnsTrue()
        {
            ObjectFactory.Configure(x => x.For <IDocuSignManager>().Use(DocuSignActivityFixtureData.DocuSignManagerWithTemplates()));
            var target          = New <Get_DocuSign_Template_v1>();
            var activityContext = FixtureData.TestActivityContext1();
            await target.Configure(activityContext);

            SelectTemplate(activityContext.ActivityPayload);

            //var activityPayload = FixtureData.TestActivityContext1().ActivityPayload;
            var result = await Validate(target, activityContext);

            Assert.AreEqual(null, result);
        }
        public async Task ActivityIsValid_WhenTemplateIsNotSelected_ReturnsFalse()
        {
            ObjectFactory.Configure(x => x.For <IDocuSignManager>().Use(DocuSignActivityFixtureData.DocuSignManagerWithTemplates()));
            var target     = New <Get_DocuSign_Template_v1>();
            var activityDO = FixtureData.TestActivity1();

            var activityContext = FixtureData.TestActivityContext1();
            await target.Configure(activityContext);

            //var activityPayload = FixtureData.TestActivityContext1().ActivityPayload;
            var result = await Validate(target, activityContext);

            AssertErrorMessage(result, DocuSignValidationUtils.TemplateIsNotSelectedErrorMessage);
        }
        public async Task ActivityIsValid_WhenAllFieldsAreSet_ReturnsTrue()
        {
            ObjectFactory.Configure(x => x.For <IDocuSignManager>().Use(DocuSignActivityFixtureData.DocuSignManagerWithTemplates()));
            var target          = New <Monitor_DocuSign_Envelope_Activity_v1>();
            var activityDO      = FixtureData.TestActivity1();
            var activityContext = FixtureData.TestActivityContext1();
            await target.Configure(activityContext);

            SetNotificationSelected(activityContext.ActivityPayload);
            SetTemplateConditionSelected(activityContext.ActivityPayload);
            SetTemplate(activityContext.ActivityPayload);
            var result = await Validate(target, activityContext);

            Assert.AreEqual(null, result);
        }