public ChangeOfCircsBuilder WithCompletedSections(bool markAsCompleted = true, bool excludeOptionalSections = false) { With(f => f.Consent, ConsentBuilder.NewValid()); With(f => f.UserId, "*****@*****.**"); With(f => f.ExistingApplicantDetails, ApplicantDetailsBuilder.NewValid(ad => ad.Address = AddressBuilder.NewValid("existing"))); With(f => f.ExistingPaymentDetails, PaymentDetailsBuilder.NewValid()); With(f => f.Options, OptionsBuilder.NewValid()); if (!excludeOptionalSections) { With(f => f.ApplicantDetails, ApplicantDetailsBuilder.NewValid()); With(f => f.ExpectedChildren, ExpectedChildrenBuilder.NewValid()); 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()); VerifyConsistent(_instance); if (!markAsCompleted) { With(f => f.Completed, null); } return(this); }
public void RequiresGuardianBenefits() { var form = new BestStartGrantBuilder("form") .With(f => f.ApplicantDetails, ApplicantDetailsBuilder.NewValid()) .Value(); form.ApplicantDetails.DateOfBirth = null; Navigation.RequiresGuardianBenefits(form).Should().BeFalse(); form.ApplicantDetails.Over25(TestNowUtc.Value); form.ApplicantDetails.FullTimeEducation = true; BestStartGrant.ShouldAskEducationQuestion(form.ApplicantDetails).Should().BeFalse("question not relevant"); Navigation.RequiresGuardianBenefits(form).Should().BeFalse("should not ask for guardian benefits if not 18 or 19"); form.ApplicantDetails.Aged(TestNowUtc.Value, 18); form.ApplicantDetails.FullTimeEducation = false; BestStartGrant.ShouldAskEducationQuestion(form.ApplicantDetails).Should().BeTrue("ensure question is asked"); Navigation.RequiresGuardianBenefits(form).Should().BeFalse("should not ask for guardian benefits if not in full time education"); form.ApplicantDetails.Aged(TestNowUtc.Value, 19); form.ApplicantDetails.FullTimeEducation = true; BestStartGrant.ShouldAskEducationQuestion(form.ApplicantDetails).Should().BeTrue("ensure question is asked"); Navigation.RequiresGuardianBenefits(form).Should().BeTrue("should ask for guardian benefits if responded in full time education"); }
public void RequiresApplicantBenefits_NotRequiredWhenCareLeaver() { var form = new BestStartGrantBuilder("form") .With(f => f.ApplicantDetails, ApplicantDetailsBuilder.NewValid()) .Value(); form.ApplicantDetails.DateOfBirth = null; Navigation.RequiresGuardianBenefits(form).Should().BeFalse(); form.ApplicantDetails.Over25(TestNowUtc.Value); form.ApplicantDetails.PreviouslyLookedAfter = true; BestStartGrant.ShouldAskCareQuestion(form.ApplicantDetails).Should().BeFalse("question not relevant"); Navigation.RequiresApplicantBenefits(form).Should().BeTrue("should still ask for benefits if not under 25 (despite previous care)"); form.ApplicantDetails.Aged(TestNowUtc.Value, 23); form.ApplicantDetails.PreviouslyLookedAfter = false; BestStartGrant.ShouldAskCareQuestion(form.ApplicantDetails).Should().BeTrue("ensure question is asked"); Navigation.RequiresApplicantBenefits(form).Should().BeTrue("should still ask for benefits if not previously in care"); form.ApplicantDetails.Aged(TestNowUtc.Value, 23); form.ApplicantDetails.PreviouslyLookedAfter = true; BestStartGrant.ShouldAskCareQuestion(form.ApplicantDetails).Should().BeTrue("ensure question is asked"); Navigation.RequiresApplicantBenefits(form).Should().BeFalse("should ask for guardian benefits if responded in full time education"); }
public void RequiresGuardianPartnerBenefits_NotRequiredWhenAnyBenefitsNotRequired() { var form = new BestStartGrantBuilder("form") .With(f => f.ApplicantDetails, ApplicantDetailsBuilder.NewValid().Under25CareLeaver(TestNowUtc.Value)) .With(f => f.GuardianBenefits, BenefitsBuilder.NewNone()) .Value(); Navigation.RequiresGuardianPartnerBenefits(form).Should().BeFalse("should not prompt for benefits when already entitled"); }
public void Find_NoNationalInsuranceNumber() { var query = new FindApplicantDetailsConfig { ApplicantDetails = ApplicantDetailsBuilder.NewValid(ad => ad.Under16(TestNowUtc.Value)), }; var detail = query.Find(); detail.ShouldAskForNationalInsuranceNumber.Should().BeFalse(); }
public void Find_OneQuestionAsked() { var query = new FindApplicantDetailsConfig { ApplicantDetails = ApplicantDetailsBuilder.NewValid(ad => ad.DateOfBirth = TestNowUtc.Value.Date.AddYears(-21)), }; var detail = query.Find(); detail.ShouldAskCareQuestion.Should().BeTrue(); detail.ShouldAskEducationQuestion.Should().BeFalse(); }
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 void Find_AllCareQuestionsAsked() { var query = new FindApplicantDetailsConfig { ApplicantDetails = ApplicantDetailsBuilder.NewValid(), }; var detail = query.Find(); detail.ShouldAskCareQuestion.Should().BeTrue(); detail.ShouldAskEducationQuestion.Should().BeTrue(); detail.ShouldAskForNationalInsuranceNumber.Should().BeTrue(); }
protected static CocDetail NewCocDetail(string formId) { var detail = new CocDetail { Id = formId, Consent = ConsentBuilder.NewValid(), Identity = "*****@*****.**", Options = OptionsBuilder.NewValid(), ApplicantDetails = ApplicantDetailsBuilder.NewValid(), ExpectedChildren = ExpectedChildrenBuilder.NewValid(), HealthProfessional = HealthProfessionalBuilder.NewValid(), PaymentDetails = PaymentDetailsBuilder.NewValid(), Evidence = EvidenceBuilder.NewValid(), Declaration = DeclarationBuilder.NewValid(), }; return(detail); }
public void Execute_StoresApplicantDetails() { var existingForm = new ChangeOfCircsBuilder("form123") .Insert(); existingForm.ApplicantDetails.Should().BeNull("no data stored before executing command"); var cmd = new AddApplicantDetails { FormId = "form123", ApplicantDetails = ApplicantDetailsBuilder.NewValid(), }; cmd.Execute(); var updatedForm = Repository.Load <ChangeOfCircs>("form123"); updatedForm.ApplicantDetails.Should().NotBeNull(); updatedForm.ApplicantDetails.FullName.Should().Be(cmd.ApplicantDetails.FullName); }
public void Execute_StoresExpectedDetails() { var existingForm = new BestStartGrantBuilder("form123") .With(f => f.ApplicantDetails, ApplicantDetailsBuilder.NewValid()) .Insert(); existingForm.ExpectedChildren.Should().BeNull("no data stored before executing command"); var cmd = new AddExpectedChildren { FormId = "form123", ExpectedChildren = ExpectedChildrenBuilder.NewValid(), }; cmd.Execute(); var updatedForm = Repository.Load <BestStartGrant>("form123"); updatedForm.ExpectedChildren.Should().NotBeNull(); updatedForm.ExpectedChildren.ExpectancyDate.Should().Be(cmd.ExpectedChildren.ExpectancyDate); }
protected void ApplicantDetailsShouldBeInvalid(ChangeOfCircs form, Action <ApplicantDetails> mutator) { ShouldBeInvalid(() => form.AddApplicantDetails(ApplicantDetailsBuilder.NewValid(mutator))); }