protected static BsgDetail NewBsgDetail(string formId, int childCount = 2) { var detail = new BsgDetail { Id = formId, Consent = ConsentBuilder.NewValid(), ApplicantDetails = ApplicantDetailsBuilder.NewValid(), ExpectedChildren = ExpectedChildrenBuilder.NewValid(), ExistingChildren = ExistingChildrenBuilder.NewValid(childCount), ApplicantBenefits = BenefitsBuilder.NewWithBenefit(), PartnerBenefits = BenefitsBuilder.NewWithBenefit(), GuardianBenefits = BenefitsBuilder.NewWithBenefit(), GuardianPartnerBenefits = BenefitsBuilder.NewWithBenefit(), PartnerDetails = RelationDetailsBuilder.NewValid("partner"), GuardianDetails = RelationDetailsBuilder.NewValid("guardian"), GuardianPartnerDetails = RelationDetailsBuilder.NewValid("guardian partner"), HealthProfessional = HealthProfessionalBuilder.NewValid(), PaymentDetails = PaymentDetailsBuilder.NewValid(), Evidence = EvidenceBuilder.NewValid(), Declaration = DeclarationBuilder.NewValid(), }; return(detail); }
public void Populate_NoPreviousSectionFromFirstSection() { var form = new BestStartGrantBuilder("form") .Value(); var detail = new BsgDetail(); Navigation.Populate(detail, Navigation.Order.First(), form); detail.PreviousSection.Should().BeNull(); }
public void Declaration_GET_HandlesMissingSections() { WebAppTest(client => { var detail = new BsgDetail { Id = "form123" }; ExecutorStub.SetupQuery(It.IsAny<FindBsgSection>(), detail); var response = client.Get(BsgActions.Declaration(detail.Id)); response.HttpStatusCode.Should().Be(HttpStatusCode.OK); }); }
public void Populate_SetsPreviousSection() { var form = new BestStartGrantBuilder("form") .With(f => f.ApplicantDetails, ApplicantDetailsBuilder.NewValid().Under16(TestNowUtc.Value)) .Value(); var detail = new BsgDetail(); Navigation.Populate(detail, Sections.GuardianDetails, form); detail.PreviousSection.Should().Be(Sections.ExistingChildren, "Navigating backwards from guardian details for a 16 year old should go back to existing children (and skip applicant benefits)"); }
public static void CopySectionsFrom(BestStartGrant form, BsgDetail detail) { detail.Id = form.Id; detail.Consent = form.Consent; detail.ApplicantDetails = form.ApplicantDetails; detail.ExpectedChildren = form.ExpectedChildren; detail.ExistingChildren = form.ExistingChildren; detail.ApplicantBenefits = form.ApplicantBenefits; detail.PartnerBenefits = form.PartnerBenefits; detail.GuardianBenefits = form.GuardianBenefits; detail.GuardianPartnerBenefits = form.GuardianPartnerBenefits; detail.PartnerDetails = form.PartnerDetails; detail.GuardianDetails = form.GuardianDetails; detail.GuardianPartnerDetails = form.GuardianPartnerDetails; detail.HealthProfessional = form.HealthProfessional; detail.PaymentDetails = form.PaymentDetails; detail.Evidence = form.Evidence; detail.Declaration = form.Declaration; }
public void Find_PopulatesDetail() { var existingForm = new BestStartGrantBuilder("form123") .WithCompletedSections() .Insert(); var query = new FindBsgSection { FormId = "form123", Section = Sections.ExistingChildren, }; var detail = query.Find(); var expectedDetail = new BsgDetail { PreviousSection = Sections.ExpectedChildren }; BestStartGrantBuilder.CopySectionsFrom(existingForm, expectedDetail); detail.ShouldBeEquivalentTo(expectedDetail); }
public static void Populate(BsgDetail detail, Sections section, BestStartGrant form) { var index = _order.IndexOf(section) - 1; while (index >= 0 && !detail.PreviousSection.HasValue) { var previousSection = _order[index]; if (!FeatureToggles.SkipWorkInProgressSection(previousSection)) { var strategy = SectionStrategy.For(previousSection); if (strategy.Required(form)) { detail.PreviousSection = previousSection; } } index--; } detail.IsFinalSection = (section == _order.Last()); }
protected static BsgDetail NewMinimalBsgDetail(string formId) { var detail = new BsgDetail { Id = formId, Consent = new Consent(), ApplicantDetails = new ApplicantDetails(), ExpectedChildren = new ExpectedChildren(), ExistingChildren = new ExistingChildren(), ApplicantBenefits = new Benefits(), PartnerBenefits = new Benefits(), GuardianBenefits = new Benefits(), GuardianPartnerBenefits = new Benefits(), PartnerDetails = new RelationDetails(), GuardianDetails = new RelationDetails(), GuardianPartnerDetails = new RelationDetails(), HealthProfessional = new HealthProfessional(), PaymentDetails = new PaymentDetails(), Declaration = new Declaration(), }; return(detail); }