public Pledge GetPledgeByCampaignAndDonor(int pledgeCampaignId, int donorId) { var searchString = string.Format(",{0},{1}", pledgeCampaignId, donorId); var records = _ministryPlatformService.GetPageViewRecords("PledgesByDonorId", ApiLogin(), searchString); switch (records.Count) { case 1: var record = records.First(); var pledge = new Pledge(); pledge.DonorId = record.ToInt("Donor_ID"); pledge.PledgeCampaignId = record.ToInt("Pledge_Campaign_ID"); pledge.PledgeId = record.ToInt("Pledge_ID"); pledge.PledgeStatusId = record.ToInt("Pledge_Status_ID"); pledge.PledgeTotal = record["Total_Pledge"] as decimal? ?? 0; pledge.CampaignStartDate = record.ToDate("Start_Date"); pledge.CampaignEndDate = record.ToDate("End_Date"); return pledge; case 0: return null; default: throw new ApplicationException(string.Format("GetPledgeByCampaignAndDonor returned multiple records. CampaignId: {0}, DonorId: {1}", pledgeCampaignId, donorId)); } }
public void Search() { var mockMpSearchResponse = MockMpSearchResponse(); _eventParticipantService.Setup(m => m.TripParticipants(It.IsAny<string>())).Returns(mockMpSearchResponse); var mockPledge1 = new Pledge { PledgeId = 1, DonorId = mockMpSearchResponse[0].DonorId, PledgeCampaignId = mockMpSearchResponse[0].CampaignId, PledgeStatusId = 1 }; var mockPledge2 = new Pledge { PledgeId = 2, DonorId = mockMpSearchResponse[1].DonorId, PledgeCampaignId = mockMpSearchResponse[1].CampaignId, PledgeStatusId = 1 }; var mockPledge3 = new Pledge { PledgeId = 3, DonorId = mockMpSearchResponse[2].DonorId, PledgeCampaignId = mockMpSearchResponse[2].CampaignId, PledgeStatusId = 1 }; _pledgeService.Setup(m => m.GetPledgeByCampaignAndDonor(mockMpSearchResponse[0].CampaignId, mockMpSearchResponse[0].DonorId)).Returns(mockPledge1); _pledgeService.Setup(m => m.GetPledgeByCampaignAndDonor(mockMpSearchResponse[1].CampaignId, mockMpSearchResponse[1].DonorId)).Returns(mockPledge2); _pledgeService.Setup(m => m.GetPledgeByCampaignAndDonor(mockMpSearchResponse[2].CampaignId, mockMpSearchResponse[2].DonorId)).Returns(mockPledge3); var searchResults = _fixture.Search(It.IsAny<string>()); _eventParticipantService.VerifyAll(); _pledgeService.VerifyAll(); Assert.AreEqual(2, searchResults.Count); var p1 = searchResults.FirstOrDefault(s => s.ParticipantId == 9999); Assert.IsNotNull(p1); Assert.AreEqual(2, p1.Trips.Count); var p2 = searchResults.FirstOrDefault(s => s.ParticipantId == 5555); Assert.IsNotNull(p2); Assert.AreEqual(1, p2.Trips.Count); }
public void testPostToCreateDonationAndDistributionWithPledgeUnauthenticated() { var contactId = 999999; var donationId = 6186818; var charge = new StripeCharge() { Id = "ch_crdscharge86868", BalanceTransaction = new StripeBalanceTransaction() { Fee = 987 } }; var createDonationDTO = new CreateDonationDTO { ProgramId = "3", //crossroads Amount = 86868, DonorId = 394256, EmailAddress = "*****@*****.**", PledgeCampaignId = 23, PledgeDonorId = 42, GiftMessage = "Don't look a Gift Horse in the Mouth!", PaymentType = "card" }; var donor = new ContactDonor { ContactId = contactId, DonorId = 424242, SetupDate = new DateTime(), StatementFreq = "1", StatementMethod = "2", StatementType = "3", ProcessorId = "cus_test1234567", Email = "moc.tset@tset" }; var pledgeId = 3456; var pledge = new Pledge { DonorId = 1, PledgeCampaignId = 2, PledgeId = pledgeId, PledgeStatusId = 1 }; fixture.Request.Headers.Authorization = null; gatewayDonorServiceMock.Setup(mocked => mocked.GetContactDonorForEmail(createDonationDTO.EmailAddress)).Returns(donor); mpPledgeService.Setup(mocked => mocked.GetPledgeByCampaignAndDonor(createDonationDTO.PledgeCampaignId.Value, createDonationDTO.PledgeDonorId.Value)).Returns(pledge); mpDonationService.Setup(mocked => mocked.SendMessageFromDonor(pledgeId, createDonationDTO.GiftMessage)); stripeServiceMock.Setup(mocked => mocked.ChargeCustomer(donor.ProcessorId, createDonationDTO.Amount, donor.DonorId)). Returns(charge); donorServiceMock.Setup(mocked => mocked. CreateDonationAndDistributionRecord(It.Is<DonationAndDistributionRecord>( d => d.DonationAmt == createDonationDTO.Amount && d.FeeAmt == charge.BalanceTransaction.Fee && d.DonorId == donor.DonorId && d.ProgramId.Equals(createDonationDTO.ProgramId) && d.PledgeId == pledgeId && d.ChargeId.Equals(charge.Id) && d.PymtType.Equals(createDonationDTO.PaymentType) && d.ProcessorId.Equals(donor.ProcessorId) && !d.RegisteredDonor && !d.Anonymous && !d.RecurringGift && d.RecurringGiftId == null && d.DonorAcctId == null && d.CheckScannerBatchName == null && d.DonationStatus == null && d.CheckNumber == null))) .Returns(donationId); IHttpActionResult result = fixture.Post(createDonationDTO); donorServiceMock.VerifyAll(); stripeServiceMock.VerifyAll(); donorServiceMock.VerifyAll(); mpPledgeService.VerifyAll(); donorServiceMock.VerifyAll(); stripeServiceMock.VerifyAll(); donorServiceMock.VerifyAll(); Assert.IsNotNull(result); Assert.IsInstanceOf(typeof(OkNegotiatedContentResult<DonationDTO>), result); var okResult = (OkNegotiatedContentResult<DonationDTO>)result; Assert.AreEqual(6186818, donationId); var resultDto = ((OkNegotiatedContentResult<DonationDTO>)result).Content; Assert.IsNotNull(resultDto); Assert.AreEqual(donor.Email, resultDto.Email); }