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); }
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)); }