Beispiel #1
0
        public void Setup()
        {
            _apiUserService     = new Mock <IApiUserRepository>();
            _campaignRepository = new Mock <ICampaignRepository>();
            _dateTimeWrapper    = new Mock <IDateTime>();

            _fixture = new CampaignService(_apiUserService.Object, _campaignRepository.Object, _dateTimeWrapper.Object);

            const string apiToken = "qwerty1234";

            _apiUserService.Setup(m => m.GetToken()).Returns(apiToken);

            MpPledgeCampaignSummaryDto dto = new MpPledgeCampaignSummaryDto()
            {
                PledgeCampaignId   = _pledgeCampaignId,
                NoCommitmentCount  = 1100,
                NoCommitmentAmount = 1200000.00M,
                TotalGiven         = 38000000.00M,
                TotalCommitted     = 95000000.00M,
                StartDate          = new DateTime(2015, 11, 15),
                EndDate            = new DateTime(2018, 12, 31),
                NotStartedCount    = 1800,
                BehindCount        = 3200,
                OnPaceCount        = 1400,
                AheadCount         = 500,
                CompletedCount     = 390,
                TotalCount         = 1800 + 3200 + 1400 + 500 + 390
            };

            _campaignRepository.Setup(m => m.GetPledgeCampaignSummary(apiToken, dto.PledgeCampaignId)).Returns(dto);
        }
Beispiel #2
0
        public void ShouldGetPledgeCampaignSummary()
        {
            const string token            = "xyz789";
            const int    pledgeCampaignId = 12345;

            var dto = new MpPledgeCampaignSummaryDto()
            {
                PledgeCampaignId   = pledgeCampaignId,
                NoCommitmentCount  = 1100,
                NoCommitmentAmount = 1200000.00M,
                TotalGiven         = 38000000.00M,
                TotalCommitted     = 95000000.00M,
                StartDate          = new DateTime(2015, 11, 15),
                EndDate            = new DateTime(2018, 12, 31),
                NotStartedCount    = 1800,
                BehindCount        = 3200,
                OnPaceCount        = 1400,
                AheadCount         = 500,
                CompletedCount     = 390,
                TotalCount         = 1800 + 3200 + 1400 + 500 + 390
            };

            var listOfList = new List <List <MpPledgeCampaignSummaryDto> >
            {
                new List <MpPledgeCampaignSummaryDto>
                {
                    dto
                }
            };

            _ministryPlatformRest.Setup(m => m.UsingAuthenticationToken(token)).Returns(_ministryPlatformRest.Object);
            _ministryPlatformRest.Setup(m => m.GetFromStoredProc <MpPledgeCampaignSummaryDto>(
                                            CampaignRepository.CampaignSummaryProcName,
                                            It.Is <Dictionary <string, object> >(parms =>
                                                                                 parms.Count == 1 &&
                                                                                 parms["@Pledge_Campaign_ID"].Equals(pledgeCampaignId))
                                            )).Returns(listOfList);

            var result = _fixture.GetPledgeCampaignSummary(token, pledgeCampaignId);

            Assert.AreEqual(dto.PledgeCampaignId, result.PledgeCampaignId);
            Assert.AreEqual(dto.TotalGiven, result.TotalGiven);
            Assert.AreEqual(dto.TotalCommitted, result.TotalCommitted);
            Assert.AreEqual(dto.TotalCount, result.TotalCount);
        }
Beispiel #3
0
        // Retrieve overall summary info for the whole campaign, or throw if the campaign does not exist
        public MpPledgeCampaignSummaryDto GetPledgeCampaignSummary(string token, int pledgeCampaignId)
        {
            var parameters = new Dictionary <string, object>
            {
                { "@Pledge_Campaign_ID", pledgeCampaignId }
            };

            var storedProcReturn = _ministryPlatformRest.UsingAuthenticationToken(token).GetFromStoredProc <MpPledgeCampaignSummaryDto>(CampaignSummaryProcName, parameters);

            MpPledgeCampaignSummaryDto summary = storedProcReturn.FirstOrDefault()?.FirstOrDefault();

            if (summary == null)
            {
                throw new PledgeCampaignNotFoundException(pledgeCampaignId);
            }

            summary.PledgeCampaignId = pledgeCampaignId;

            return(summary);
        }