Beispiel #1
0
        private SelectReportOptionsViewModel GenerateInvalidNonObligated()
        {
            var nonObligatedQuestion = fixture.Build <ReportOnQuestion>()
                                       .With(r => r.Id, (int)ReportOnQuestionEnum.NonObligated)
                                       .With(r => r.HasError, false)
                                       .With(r => r.Selected, true)
                                       .Create();

            var nonObligatedDcfQuestion = fixture.Build <ReportOnQuestion>()
                                          .With(r => r.Id, (int)ReportOnQuestionEnum.NonObligatedDcf)
                                          .With(r => r.HasError, false)
                                          .With(r => r.Selected, false)
                                          .Create();

            var selectedQuestion = fixture.Build <ReportOnQuestion>()
                                   .With(r => r.Id, (int)ReportOnQuestionEnum.WeeeSentOn)
                                   .With(r => r.HasError, false)
                                   .With(r => r.Selected, true).Create();

            var model = new SelectReportOptionsViewModel()
            {
                ReportOnQuestions = new List <ReportOnQuestion>()
                {
                    nonObligatedQuestion, selectedQuestion, nonObligatedDcfQuestion
                },
            };

            return(model);
        }
 private void RemoveDcfSelectedValueModelState(SelectReportOptionsViewModel viewModel)
 {
     if (!viewModel.NonObligatedQuestionSelected)
     {
         ModelState.Remove("DcfSelectedValue");
     }
 }
        public void SelectReportOptionsViewModel_GivenSelectedValueIsYesOrNo_IsValid(string selectedValue)
        {
            var viewModel = new SelectReportOptionsViewModel(Guid.NewGuid(), Guid.NewGuid(), A.Fake <List <ReportOnQuestion> >(), A.Fake <ReturnData>(), A.Dummy <int>())
            {
                DcfSelectedValue = selectedValue
            };
            var context = new ValidationContext(viewModel, null, null);
            var results = new List <ValidationResult>();
            var isValid = Validator.TryValidateObject(viewModel, context, results, true);

            Assert.True(isValid);
        }
        private SelectReportOptionsViewModel CreateTempData()
        {
            var model = new SelectReportOptionsViewModel {
                ReportOnQuestions = new List <ReportOnQuestion>()
            };

            for (var i = 0; i < 5; i++)
            {
                model.ReportOnQuestions.Add(fixture.Build <Core.AatfReturn.ReportOnQuestion>().With(r => r.Id, i).Create());
            }

            return(model);
        }
        private SelectReportOptionsViewModel GetDefaultViewModelWithDcfQuestion()
        {
            var model = new SelectReportOptionsViewModel(Guid.NewGuid(), Guid.NewGuid(), A.Fake <List <ReportOnQuestion> >(), A.Fake <ReturnData>(), A.Dummy <int>());

            var dcf = fixture.Build <ReportOnQuestion>().With(r => r.Id, (int)ReportOnQuestionEnum.NonObligatedDcf).Create();

            model.ReportOnQuestions = new List <ReportOnQuestion>()
            {
                dcf
            };

            return(model);
        }
Beispiel #6
0
 private void AssertValues(SelectReportOptionsViewModel result, bool selected)
 {
     result.ReportOnQuestions.Count.Should().Be(5);
     result.ReportOnQuestions.ElementAt(0).Id.Should().Be(1);
     result.ReportOnQuestions.ElementAt(0).Selected.Should().Be(selected);
     result.ReportOnQuestions.ElementAt(1).Id.Should().Be(2);
     result.ReportOnQuestions.ElementAt(1).Selected.Should().Be(selected);
     result.ReportOnQuestions.ElementAt(2).Id.Should().Be(3);
     result.ReportOnQuestions.ElementAt(2).Selected.Should().Be(selected);
     result.ReportOnQuestions.ElementAt(3).Id.Should().Be(4);
     result.ReportOnQuestions.ElementAt(3).Selected.Should().Be(selected);
     result.ReportOnQuestions.ElementAt(4).Id.Should().Be(5);
     result.ReportOnQuestions.ElementAt(4).Selected.Should().Be(selected);
 }
        private static SelectReportOptionsViewModel CreateInitialViewModel()
        {
            var model = new SelectReportOptionsViewModel()
            {
                OrganisationId = A.Dummy <Guid>(),
                ReturnId       = A.Dummy <Guid>(),
                ReturnData     = new ReturnData()
                {
                    Id = Guid.NewGuid(), Quarter = new Quarter(2019, QuarterType.Q1), QuarterWindow = QuarterWindowTestHelper.GetDefaultQuarterWindow()
                }
            };

            return(model);
        }
        private SelectReportOptionsViewModel CreateSubmittedViewModel()
        {
            var model = new SelectReportOptionsViewModel {
                ReportOnQuestions = new List <ReportOnQuestion>()
            };

            for (var i = 0; i < 5; i++)
            {
                model.ReportOnQuestions.Add(fixture.Build <ReportOnQuestion>()
                                            .With(r => r.Id, (int)i + 1)
                                            .With(r => r.Selected, false)
                                            .Create());
            }

            return(model);
        }
        public virtual async Task <ActionResult> Index(SelectReportOptionsViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                using (var client = apiClient())
                {
                    viewModel.ReturnData = await client.SendAsync(User.GetAccessToken(), new GetReturn(viewModel.ReturnId, false));

                    if (viewModel.DeSelectedOptions.Any())
                    {
                        if (!viewModel.HasSelectedOptions)
                        {
                            return(AatfRedirect.SelectReportOptionsNil(viewModel.OrganisationId, viewModel.ReturnId));
                        }

                        TempData["viewModel"] = viewModel;

                        return(AatfRedirect.SelectReportOptionDeselect(viewModel.OrganisationId, viewModel.ReturnId));
                    }

                    var request = requestCreator.ViewModelToRequest(viewModel);

                    await client.SendAsync(User.GetAccessToken(), request);

                    if (IfNotPreviouslySelectedPcs(viewModel))
                    {
                        return(AatfRedirect.SelectPcs(viewModel.OrganisationId, viewModel.ReturnId));
                    }
                }

                return(AatfRedirect.TaskList(viewModel.ReturnId));
            }
            else
            {
                RemoveDcfSelectedValueModelState(viewModel);
            }

            await SetBreadcrumb(viewModel.OrganisationId, BreadCrumbConstant.AatfReturn, DisplayHelper.YearQuarterPeriodFormat(TempData["currentQuarter"] as Quarter, TempData["currentQuarterWindow"] as QuarterWindow));

            return(View(viewModel));
        }
Beispiel #10
0
        public void RuleFor_GivenNoSelectedItems_ErrorShouldBeValid()
        {
            var question = fixture.Build <ReportOnQuestion>()
                           .With(r => r.Id, (int)ReportOnQuestionEnum.WeeeReceived)
                           .With(r => r.Selected, false)
                           .Create();

            var model = new SelectReportOptionsViewModel()
            {
                ReportOnQuestions = new List <ReportOnQuestion>()
                {
                    question
                },
            };

            validator = new SelectReportOptionsViewModelValidator();
            var validationResult = validator.Validate(model);

            validationResult.Errors.Should().Contain(v =>
                                                     v.ErrorMessage.Equals("You must select at least one reporting option, unless you have no data to report"));
            validationResult.Errors.Should().Contain(v =>
                                                     v.PropertyName.Equals("hasSelectedOptions"));
        }
 private static bool IfNotPreviouslySelectedPcs(SelectReportOptionsViewModel viewModel)
 {
     return(viewModel.ReportOnQuestions.First(r => r.Id == (int)ReportOnQuestionEnum.WeeeReceived).Selected &&
            !viewModel.ReturnData.SchemeDataItems.Any());
 }
Beispiel #12
0
 private bool IfWeeeReceivedChangedToSelected(SelectReportOptionsViewModel model)
 {
     return(model.ReportOnQuestions.First(r => r.Id == (int)ReportOnQuestionEnum.WeeeReceived).ReSelected);
 }