Exemple #1
0
        public void TransferUnsubs_NullMasterList_Error()
        {
            // Arrange
            var listOpens = new List <BlastActivityUnSubscribes> {
                new BlastActivityUnSubscribes {
                    EmailID = 1, UnsubscribeCodeID = 1
                },
                new BlastActivityUnSubscribes {
                    EmailID = 2, UnsubscribeCodeID = 1
                },
                new BlastActivityUnSubscribes {
                    EmailID = 3, UnsubscribeCodeID = 2
                }
            };
            var listCampMember = new List <SF_CampaignMember> {
                new SF_CampaignMember {
                    Id = "1", ContactId = "1", LeadId = "1"
                },
                new SF_CampaignMember {
                    Id = "2", ContactId = "2", LeadId = "2"
                }
            };
            var activityResult = new ActivityResults {
            };

            ShimGroupDataFields.GetByGroupIDInt32UserBoolean = (p1, p2, p3) => new List <GroupDataFields> {
                new GroupDataFields {
                    ShortName = "sfid", GroupDataFieldsID = 1
                },
                new GroupDataFields {
                    ShortName = "sftype", GroupDataFieldsID = 2
                }
            };
            ShimEmailDataValues.GetByGroupIDInt32User = (p1, p2) => new List <EmailDataValues> {
                new EmailDataValues {
                    GroupDataFieldsID = 1, EmailID = 1, DataValue = "1"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 2, EmailID = 1, DataValue = "contact"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 1, EmailID = 2, DataValue = "1"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 2, EmailID = 2, DataValue = "lead"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 1, EmailID = 3, DataValue = "1"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 2, EmailID = 3, DataValue = "contact"
                }
            };
            _testObject.SetFieldOrProperty("MasterList", null);
            var numberOfCatchedExceptions = 0;

            ShimSF_Utilities.LogExceptionException = (ex) => numberOfCatchedExceptions++;

            // Act, Assert
            var ar = Should.NotThrow(() => _testObject.Invoke("TransferUnsubs", new object[] { listOpens, listCampMember, 1, activityResult })) as ActivityResults;

            ar.ShouldSatisfyAllConditions(
                () => ar.ShouldNotBeNull(),
                () => ar.SyncSuccess.ShouldBeTrue(),
                () => ar.UnsubTotal.ShouldBe(2),
                () => ar.MSTotal.ShouldBe(1));
            numberOfCatchedExceptions.ShouldBe(3);
        }
Exemple #2
0
        public void TransferUnsubs_Success()
        {
            // Arrange
            var listOpens = new List <BlastActivityUnSubscribes> {
                new BlastActivityUnSubscribes {
                    EmailID = 1, UnsubscribeCodeID = 1
                },
                new BlastActivityUnSubscribes {
                    EmailID = 2, UnsubscribeCodeID = 1
                },
                new BlastActivityUnSubscribes {
                    EmailID = 3, UnsubscribeCodeID = 1
                },
                new BlastActivityUnSubscribes {
                    EmailID = 4, UnsubscribeCodeID = 1
                },
                new BlastActivityUnSubscribes {
                    EmailID = 5, UnsubscribeCodeID = 2
                },
                new BlastActivityUnSubscribes {
                    EmailID = 6, UnsubscribeCodeID = 2
                }
            };
            var listCampMember = new List <SF_CampaignMember> {
                new SF_CampaignMember {
                    Id = "1", ContactId = "1", LeadId = "1", Status = "subscribed"
                },
                new SF_CampaignMember {
                    Id = "2", ContactId = "2", LeadId = "2", Status = "subscribed"
                },
                new SF_CampaignMember {
                    Id = "3", ContactId = "3", LeadId = "3", Status = "subscribed"
                }
            };
            var activityResult = new ActivityResults {
            };

            ShimGroupDataFields.GetByGroupIDInt32UserBoolean = (p1, p2, p3) => new List <GroupDataFields> {
                new GroupDataFields {
                    ShortName = "sfid", GroupDataFieldsID = 1
                },
                new GroupDataFields {
                    ShortName = "sftype", GroupDataFieldsID = 2
                }
            };
            ShimEmailDataValues.GetByGroupIDInt32User = (p1, p2) => new List <EmailDataValues> {
                new EmailDataValues {
                    GroupDataFieldsID = 1, EmailID = 1, DataValue = "1"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 2, EmailID = 1, DataValue = "contact"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 1, EmailID = 2, DataValue = "1"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 2, EmailID = 2, DataValue = "contact"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 1, EmailID = 3, DataValue = "2"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 2, EmailID = 3, DataValue = "lead"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 1, EmailID = 4, DataValue = "2"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 2, EmailID = 4, DataValue = "lead"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 1, EmailID = 5, DataValue = "3"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 2, EmailID = 5, DataValue = "contact"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 1, EmailID = 6, DataValue = "3"
                },
                new EmailDataValues {
                    GroupDataFieldsID = 2, EmailID = 6, DataValue = "contact"
                }
            };
            ShimSF_Lead.OptOutStringString = (p1, p2) => true;

            // Act, Assert
            var ar = Should.NotThrow(() => _testObject.Invoke("TransferUnsubs", new object[] { listOpens, listCampMember, 1, activityResult })) as ActivityResults;

            ar.ShouldSatisfyAllConditions(
                () => ar.ShouldNotBeNull(),
                () => ar.SyncSuccess.ShouldBeTrue(),
                () => ar.UnsubTotal.ShouldBe(4),
                () => ar.MSTotal.ShouldBe(2));
        }