public void Arrange()
        {
            _container = new Infrastructure.DependencyResolution.WebRegistry().Build();

            _apprenticeships = new[]
            {
                new Apprenticeship {
                    Code = "1", Name = "Apprenticeship B"
                },
                new Apprenticeship {
                    Code = "2", Name = "Apprenticeship A"
                }
            };

            _standardsRepository = new Mock <IApprenticeshipRepository>();
            _standardsRepository.Setup(r => r.GetAllAsync()).Returns(Task.FromResult(_apprenticeships));

            _forecastCalculator = new Mock <IForecastCalculator>();
            _forecastCalculator.Setup(c => c.ForecastAsync(12345678, 100))
            .Returns(Task.FromResult(new ForecastResult {
                FundingReceived = 987654
            }));

            _controller = new HomeController(_standardsRepository.Object, _forecastCalculator.Object, null, _container.GetInstance <IApprenticeshipModelMapper>());

            _model = new TrainingCourseViewModel
            {
                Paybill         = 12345678,
                EnglishFraction = 100
            };
        }
        public static bool TrainingYearBeBeforeOrEqual(TrainingCourseViewModel instance, string toYear)
        {
            if (string.IsNullOrEmpty(toYear))
            {
                //Will be picked up by required validator
                return(true);
            }

            if (string.IsNullOrEmpty(instance.FromYear))
            {
                return(false);
            }

            int to, from;

            var validTo   = int.TryParse(toYear, out to);
            var validFrom = int.TryParse(instance.FromYear, out from);

            if (validTo && validFrom)
            {
                return(@from <= to);
            }

            return(true);
        }
        public async Task <ActionResult> TrainingCourse(TrainingCourseViewModel model)
        {
            _tc.TrackPageView("Training Course");

            var standards = await _apprenticeshipRepository.GetAllAsync();

            model.Apprenticeships = standards.OrderBy(s => s.Name).Select(s => _apprenticeshipModelMapper.MapApprenticeshipModel(s)).ToArray();

            var forecastResult = await _forecastCalculator.ForecastAsync(model.Paybill, model.EnglishFraction);

            model.LevyFundingReceived     = forecastResult.FundingReceived;
            model.TopPercentageForDisplay = forecastResult.UserFriendlyTopupPercentage.ToString("0");

            return(View(model));
        }
Exemple #4
0
        public void SetUp()
        {
            // Start with a valid view model and break things.
            _viewModel = new TrainingCourseViewModel
            {
                Provider  = "Acme Training Ltd",
                Title     = "Being Awesome",
                FromYear  = "2011",
                FromMonth = 1,
                ToYear    = "2013",
                ToMonth   = 6
            };

            _validator = new TrainingCourseViewModelValidator();
        }