Esempio n. 1
0
        public void ConvertTest_SourceNull()
        {
            ExpenditureMetricsApiModel source      = null;
            ExpenditureMetrics         destination = new ExpenditureMetrics();

            Assert.IsNull(_converter.Convert(source, destination, null));
        }
Esempio n. 2
0
        public async Task <ExpenditureMetrics> GetExpenditureMetrics(IApplicationSessionState sessionState)
        {
            ExpenditureMetrics expenditureMetrics = sessionState.GetExpenditureMetrics();

            if (expenditureMetrics == null)
            {
                var innerUrl = $"{_portalSetting.GatewayEndpoint}api/BudgetCalculator/GetTriggerFigures";

                ExpenditureMetricsApiModel apiExpenditureMetrics = await _restClient.GetAsync <ExpenditureMetricsApiModel>(innerUrl);

                expenditureMetrics = _mapper.Map <ExpenditureMetrics>(apiExpenditureMetrics);

                sessionState.SaveExpenditureMetrics(expenditureMetrics);
            }

            return(expenditureMetrics);
        }
        public async Task GetExpenditureMetricsTest_MetricsNotCached()
        {
            ExpenditureMetrics expenditureMetrics = new ExpenditureMetrics()
            {
                CommsAndLeisure     = new ExpenditureMetric(),
                FoodAndHousekeeping = new ExpenditureMetric(),
                PersonalCosts       = new ExpenditureMetric()
            };

            ExpenditureMetricsApiModel apiModel = new ExpenditureMetricsApiModel();

            this._sessionState.Setup(x => x.GetExpenditureMetrics()).Returns <ExpenditureMetrics>(null);

            this._restClient.Setup(x => x.GetAsync <ExpenditureMetricsApiModel>("TESTING/api/BudgetCalculator/GetTriggerFigures"))
            .Returns(Task.FromResult(apiModel));

            this._mapper.Setup(x => x.Map <ExpenditureMetrics>(apiModel)).Returns(expenditureMetrics);

            this._sessionState.Setup(x => x.SaveExpenditureMetrics(expenditureMetrics));

            ExpenditureMetrics result = await this._triggerFigureService.GetExpenditureMetrics(this._sessionState.Object);

            Assert.AreEqual(expenditureMetrics, result);
        }
Esempio n. 4
0
        public void ConvertTest()
        {
            ExpenditureMetricApiModel sourceCommsAndLeisure = new ExpenditureMetricApiModel()
            {
                Name = "Comms and Leisure"
            };

            ExpenditureMetricApiModel sourceFoodAndHousekeeping = new ExpenditureMetricApiModel()
            {
                Name = "Food and Housekeeping"
            };

            ExpenditureMetricApiModel sourcePersonalCosts = new ExpenditureMetricApiModel()
            {
                Name = "Personal Costs"
            };

            ExpenditureMetric commsAndLeisure = new ExpenditureMetric()
            {
                Name                 = "Comms and Leisure",
                AdditionalAdult      = 1,
                Children14To18       = 2,
                AdjustmentPercentage = 55,
                Adult                = 2,
                ChildrenUnder14      = 4,
                Vehicle              = 2
            };

            ExpenditureMetric foodAndHousekeeping = new ExpenditureMetric()
            {
                Name                 = "Food and Housekeeping",
                AdditionalAdult      = 2,
                Children14To18       = 1,
                AdjustmentPercentage = 44,
                Adult                = 3,
                ChildrenUnder14      = 3,
                Vehicle              = 1
            };

            ExpenditureMetric personalCosts = new ExpenditureMetric()
            {
                Name                 = "Personal Costs",
                AdditionalAdult      = 3,
                Children14To18       = 4,
                AdjustmentPercentage = 33,
                Adult                = 1,
                ChildrenUnder14      = 2,
                Vehicle              = 0
            };

            _mapper.Setup(x => x.Map <ExpenditureMetric>(It.Is <ExpenditureMetricApiModel>(m => m.Name == "Comms and Leisure")))
            .Returns(commsAndLeisure);
            _mapper.Setup(x => x.Map <ExpenditureMetric>(It.Is <ExpenditureMetricApiModel>(m => m.Name == "Food and Housekeeping")))
            .Returns(foodAndHousekeeping);
            _mapper.Setup(x => x.Map <ExpenditureMetric>(It.Is <ExpenditureMetricApiModel>(m => m.Name == "Personal Costs")))
            .Returns(personalCosts);

            ExpenditureMetricsApiModel source = new ExpenditureMetricsApiModel()
            {
                GuideLines = new List <ExpenditureMetricApiModel>()
                {
                    sourceCommsAndLeisure,
                    sourceFoodAndHousekeeping,
                    sourcePersonalCosts,
                }
            };

            //Create a copy of source for later
            ExpenditureMetricsApiModel sourceCopy = Utilities.DeepCopy(source);

            ExpenditureMetrics destination = new ExpenditureMetrics();
            ExpenditureMetrics expected    = new ExpenditureMetrics()
            {
                CommsAndLeisure     = commsAndLeisure,
                FoodAndHousekeeping = foodAndHousekeeping,
                PersonalCosts       = personalCosts
            };

            ExpenditureMetrics result = _converter.Convert(source, destination, null);

            //Check that source hasn't been modified
            Assert.IsTrue(Utilities.DeepCompare(source, sourceCopy));

            //Check that result is as expected
            Assert.IsTrue(Utilities.DeepCompare(expected, result));
        }