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)");
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }