Esempio n. 1
0
        public ActionResult Uod(UodModel model)
        {
            if (ModelState.IsValid)
            {
                UodSummary uodSummary = _calcService.CalculateIncome(model.BruttoAmountPerMonth, model.Limit);

                model.CurrentSummary = _mapper.Map <UodSummaryModel>(uodSummary);

                var summariesFromSession = _sessionService.GetFromSession <List <UodSummaryModel> >(SessionItem.Uod);

                if (summariesFromSession == null)
                {
                    summariesFromSession = new List <UodSummaryModel>()
                    {
                        model.CurrentSummary
                    };
                    _sessionService.AddToSession(SessionItem.Uod, summariesFromSession);
                }
                else if (!summariesFromSession.Exists(x => Convert.ToDecimal(x.Brutto) == model.BruttoAmountPerMonth))
                {
                    summariesFromSession.Add(model.CurrentSummary);
                }

                model.SavedSummaries = summariesFromSession;

                return(View(model));
            }
            else
            {
                return(RedirectToAction(nameof(Uod)));
            }
        }
Esempio n. 2
0
        public void UodHttpPost()
        {
            // Arrange
            UodModel inputModel = new UodModel()
            {
                BruttoAmountPerMonth = 10000, Limit = 42764
            };
            UodSummary expectedSummary = new UodSummary()
            {
                Brutto       = inputModel.BruttoAmountPerMonth,
                NettoAmounts = new Dictionary <string, decimal>()
                {
                    { "styczeń", 4000 }
                }
            };
            UodSummaryModel expectedSummaryModel = new UodSummaryModel()
            {
                Brutto = expectedSummary.Brutto.ToString()
            };
            List <UodSummaryModel> expectedSummaries = new List <UodSummaryModel>()
            {
                new UodSummaryModel()
                {
                    Average = "1000", Brutto = "15000"
                }
            };

            _calcMock.Setup(x => x.CalculateIncome(inputModel.BruttoAmountPerMonth, inputModel.Limit))
            .Returns(expectedSummary);

            _mapperMock.Setup(x => x.Map <UodSummaryModel>(expectedSummary))
            .Returns(expectedSummaryModel);

            _sessionMock.Setup(x => x.GetFromSession <List <UodSummaryModel> >(SessionItem.Uod))
            .Returns(expectedSummaries);

            // Act
            ActionResult result = _controller.Uod(inputModel);

            // Assert
            _calcMock.Verify(x => x.CalculateIncome(inputModel.BruttoAmountPerMonth, inputModel.Limit), Times.Once);
            _sessionMock.Verify(x => x.GetFromSession <List <UodSummaryModel> >(SessionItem.Uod), Times.Once);
            _mapperMock.Verify(x => x.Map <UodSummaryModel>(expectedSummary), Times.Once);
            result.Should().NotBeNull().And.BeOfType <ViewResult>();
            ViewResult viewResult = result as ViewResult;

            viewResult.Model.Should().NotBeNull().And.BeOfType <UodModel>();
            var model = viewResult.Model as UodModel;

            model.BruttoAmountPerMonth.Should().BeGreaterThan(0);
            model.Limit.Should().BeGreaterThan(0);
            model.SavedSummaries.Should().Equal(expectedSummaries);
            model.CurrentSummary.Should().NotBeNull().And.Be(expectedSummaryModel);
        }
Esempio n. 3
0
        public ActionResult Uod()
        {
            var summariesFromSession = _sessionService.GetFromSession <List <UodSummaryModel> >(SessionItem.Uod);

            UodModel model = new UodModel()
            {
                Limit = 85528,
                BruttoAmountPerMonth = 10000,
                SavedSummaries       = summariesFromSession
            };

            return(View(model));
        }