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); }
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)); }
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()); }
private bool IfWeeeReceivedChangedToSelected(SelectReportOptionsViewModel model) { return(model.ReportOnQuestions.First(r => r.Id == (int)ReportOnQuestionEnum.WeeeReceived).ReSelected); }