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 BestStartGrantBuilder WithCompletedSections(bool markAsCompleted = true) { With(f => f.Consent, ConsentBuilder.NewValid()); With(f => f.ApplicantDetails, ApplicantDetailsBuilder.NewValid()); With(f => f.ExpectedChildren, ExpectedChildrenBuilder.NewValid()); With(f => f.ExistingChildren, ExistingChildrenBuilder.NewValid()); With(f => f.ApplicantBenefits, BenefitsBuilder.NewWithBenefit()); With(f => f.PartnerBenefits, BenefitsBuilder.NewWithBenefit()); With(f => f.GuardianBenefits, BenefitsBuilder.NewWithBenefit()); With(f => f.GuardianPartnerBenefits, BenefitsBuilder.NewWithBenefit()); With(f => f.PartnerDetails, RelationDetailsBuilder.NewValid("partner")); With(f => f.GuardianDetails, RelationDetailsBuilder.NewValid("guardian")); With(f => f.GuardianPartnerDetails, RelationDetailsBuilder.NewValid("guardian partner")); With(f => f.HealthProfessional, HealthProfessionalBuilder.NewValid()); With(f => f.PaymentDetails, PaymentDetailsBuilder.NewValid()); With(f => f.Evidence, EvidenceBuilder.NewValid()); With(f => f.Declaration, DeclarationBuilder.NewValid()); With(f => f.Started, DomainRegistry.NowUtc() - TimeSpan.FromHours(24)); With(f => f.Completed, DomainRegistry.NowUtc()); With(f => f.UserId, _instance.ApplicantDetails?.EmailAddress); VerifyConsistent(_instance); if (!markAsCompleted) { With(f => f.Completed, null); } return(this); }
private NextSection AddGuardianPartnerBenefits(NextSection current, Action <Benefits> mutator = null) { current.Section.Should().Be(Sections.GuardianPartnerBenefits); return(NextSection(current.Section, () => new AddGuardianPartnerBenefits { FormId = current.Id, GuardianPartnerBenefits = BenefitsBuilder.NewWithBenefit(mutator) }.Execute())); }
public void NextSectionClearsSkippedSections() { var form = new BestStartGrantBuilder("form") .With(f => f.ApplicantDetails, ApplicantDetailsBuilder.NewValid(ad => ad.Under16(TestNowUtc.Value))) .With(f => f.ApplicantBenefits, BenefitsBuilder.NewWithBenefit()) .With(f => f.Declaration, DeclarationBuilder.NewValid()) .Insert(); form.AddExistingChildren(ExistingChildrenBuilder.NewValid()); form = Repository.Load <BestStartGrant>(form.Id); form.Declaration.Should().NotBeNull("should not be overwritten by moving to the next section"); form.ApplicantBenefits.Should().BeNull("intermediate 'ApplicantBenefits' section should be cleared based on answers"); }
public void Execute_StoresBenefitsDetails() { var existingForm = new BestStartGrantBuilder("form123") .Insert(); existingForm.GuardianPartnerBenefits.Should().BeNull("no data stored before executing command"); var cmd = new AddGuardianPartnerBenefits { FormId = "form123", GuardianPartnerBenefits = BenefitsBuilder.NewWithBenefit(), }; cmd.Execute(); var updatedForm = Repository.Load <BestStartGrant>("form123"); updatedForm.GuardianPartnerBenefits.Should().NotBeNull(); updatedForm.GuardianPartnerBenefits.HasIncomeSupport.Should().Be(cmd.GuardianPartnerBenefits.HasIncomeSupport); }
public void RequiresGuardianPartnerBenefits() { var form = new BestStartGrantBuilder("form") .With(f => f.GuardianBenefits, null) .Value(); Navigation.RequiresGuardianPartnerBenefits(form).Should().BeFalse("guardian partner benefits not required if guardian benefits not asked"); Builder.Modify(form).With(f => f.GuardianBenefits, BenefitsBuilder.NewWithBenefit()); Navigation.RequiresGuardianPartnerBenefits(form).Should().BeFalse("guardian partner benefits not required if guardian benefits positive"); form.GuardianBenefits.None(); Navigation.RequiresGuardianPartnerBenefits(form).Should().BeTrue("guardian partner benefits required if guardian benefits asked but answered 'no'"); form.GuardianBenefits.Unknown(); Navigation.RequiresGuardianPartnerBenefits(form).Should().BeTrue("guardian partner benefits required if guardian benefits asked but answered 'don't know'"); }
protected void GuardianPartnerBenefitsShouldBeInvalid(BestStartGrant form, Action <Benefits> mutator) { ShouldBeInvalid(() => form.AddGuardianPartnerBenefits(BenefitsBuilder.NewWithBenefit(mutator))); }
protected void ApplicantBenefitsShouldBeInvalid(BestStartGrant form, Action <Benefits> mutator) { ShouldBeInvalid(() => form.AddApplicantBenefits(BenefitsBuilder.NewWithBenefit(mutator))); }