コード例 #1
0
        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");
        }
コード例 #2
0
        public void AddPaymentDetails_Validation()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            PaymentDetailsShouldBeValid(form, m => { });
            PaymentDetailsShouldBeValid(form, m => { m.HasBankAccount = true; m.RollNumber = null; });
            PaymentDetailsShouldBeValid(form, m => { m.HasBankAccount = false; m.NameOfAccountHolder = null; });
            PaymentDetailsShouldBeValid(form, m => { m.HasBankAccount = false; m.NameOfBank = null; });
            PaymentDetailsShouldBeValid(form, m => { m.HasBankAccount = false; m.SortCode = null; });
            PaymentDetailsShouldBeValid(form, m => { m.HasBankAccount = false; m.AccountNumber = null; });

            PaymentDetailsShouldBeValid(form, m => m.HasBankAccount = false, m =>
            {
                m.NameOfAccountHolder.Should().BeNull();
                m.NameOfBank.Should().BeNull();
                m.SortCode.Should().BeNull();
                m.AccountNumber.Should().BeNull();
                m.RollNumber.Should().BeNull();
            });

            PaymentDetailsShouldBeInvalid(form, m => m.HasBankAccount = null);
            PaymentDetailsShouldBeInvalid(form, m => { m.HasBankAccount = true; m.NameOfAccountHolder = null; });
            PaymentDetailsShouldBeInvalid(form, m => { m.HasBankAccount = true; m.NameOfBank = null; });
            PaymentDetailsShouldBeInvalid(form, m => { m.HasBankAccount = true; m.SortCode = null; });
            PaymentDetailsShouldBeInvalid(form, m => { m.HasBankAccount = true; m.AccountNumber = null; });
        }
        public void AddApplicantDetails_Validation()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            ApplicantDetailsShouldBeValid(form, m => { });
            ApplicantDetailsShouldBeValid(form, m => m.Title                = null);
            ApplicantDetailsShouldBeValid(form, m => m.OtherNames           = null);
            ApplicantDetailsShouldBeValid(form, m => m.CurrentAddress.Line2 = null);
            ApplicantDetailsShouldBeValid(form, m => m.CurrentAddress.Line3 = null);
            ApplicantDetailsShouldBeValid(form, m => m.DateOfBirth          = TestNowUtc - TimeSpan.FromDays(1));
            ApplicantDetailsShouldBeValid(form, m => { m.Over25(TestNowUtc.Value); m.PreviouslyLookedAfter = null; });
            ApplicantDetailsShouldBeValid(form, m => { m.Over25(TestNowUtc.Value); m.FullTimeEducation = null; });
            ApplicantDetailsShouldBeValid(form, m => { m.Under16(TestNowUtc.Value); m.NationalInsuranceNumber = null; });

            ApplicantDetailsShouldBeValid(form, m => { m.Over25(TestNowUtc.Value); m.PreviouslyLookedAfter = true; }, m => m.PreviouslyLookedAfter.Should().BeNull());
            ApplicantDetailsShouldBeValid(form, m => { m.Over25(TestNowUtc.Value); m.FullTimeEducation = true; }, m => m.FullTimeEducation.Should().BeNull());
            ApplicantDetailsShouldBeValid(form, m => { m.Under16(TestNowUtc.Value); m.NationalInsuranceNumber = "AB 12 34 56 C"; }, m => m.NationalInsuranceNumber.Should().BeNull());

            ApplicantDetailsShouldBeInvalid(form, m => m.FirstName               = null);
            ApplicantDetailsShouldBeInvalid(form, m => m.SurnameOrFamilyName     = null);
            ApplicantDetailsShouldBeInvalid(form, m => m.DateOfBirth             = null);
            ApplicantDetailsShouldBeInvalid(form, m => m.DateOfBirth             = TestNowUtc);
            ApplicantDetailsShouldBeInvalid(form, m => m.PreviouslyLookedAfter   = null);
            ApplicantDetailsShouldBeInvalid(form, m => m.FullTimeEducation       = null);
            ApplicantDetailsShouldBeInvalid(form, m => m.NationalInsuranceNumber = null);
            ApplicantDetailsShouldBeInvalid(form, m => m.CurrentAddress.Line1    = null);
            ApplicantDetailsShouldBeInvalid(form, m => m.CurrentAddress.Postcode = null);
        }
コード例 #4
0
        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");
        }
コード例 #5
0
        public void AddExpectedChildren_Validation()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            ExpectedChildrenShouldBeValid(form, m => { });

            ExpectedChildrenShouldBeValid(form, m => m.IsBabyExpected = false, m =>
            {
                m.ExpectancyDate.Should().BeNull();
                m.IsMoreThan1BabyExpected.Should().BeNull();
                m.ExpectedBabyCount.Should().BeNull();
            });

            ExpectedChildrenShouldBeValid(form, m => m.IsMoreThan1BabyExpected = false, m =>
            {
                m.ExpectedBabyCount.Should().BeNull();
            });

            ExpectedChildrenShouldBeValid(form, m => m.ExpectancyDate    = TestNowUtc);
            ExpectedChildrenShouldBeValid(form, m => m.ExpectedBabyCount = 2);
            ExpectedChildrenShouldBeValid(form, m => m.ExpectedBabyCount = 10);

            ExpectedChildrenShouldBeInvalid(form, m => m.Invalid());
            ExpectedChildrenShouldBeInvalid(form, m => { m.IsBabyExpected = true; m.ExpectancyDate = null; });
            ExpectedChildrenShouldBeInvalid(form, m => { m.IsBabyExpected = true; m.IsMoreThan1BabyExpected = null; });
            ExpectedChildrenShouldBeInvalid(form, m => { m.IsMoreThan1BabyExpected = true; m.ExpectedBabyCount = null; });
            ExpectedChildrenShouldBeInvalid(form, m => m.ExpectancyDate = TestNowUtc - TimeSpan.FromDays(1));
            ExpectedChildrenShouldBeInvalid(form, m => { m.ExpectancyDate = null; m.ExpectedBabyCount = 1; });
            ExpectedChildrenShouldBeInvalid(form, m => m.ExpectedBabyCount = 1);
            ExpectedChildrenShouldBeInvalid(form, m => m.ExpectedBabyCount = 11);
        }
        public void AddPartnerDetails_SetsRelationshipAutomatically()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            form.AddPartnerDetails(RelationDetailsBuilder.NewValid(rd => rd.RelationshipToApplicant = null));

            form.PartnerDetails.RelationshipToApplicant.Should().Be("Partner");
        }
        public void AddGuardianPartnerBenefits_Validation()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            GuardianPartnerBenefitsShouldBeValid(form, m => { });

            GuardianPartnerBenefitsShouldBeInvalid(form, m => m.SetEmpty());
        }
コード例 #8
0
        public void Consent_Validation()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            ConsentShouldBeValid(form, m => { });

            ConsentShouldBeInvalid(form, m => m.AgreedToConsent = false);
        }
        public void Complete_DeclarationValidated()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            DeclarationShouldBeValid(form, m => { });

            DeclarationShouldBeInvalid(form, m => m.AgreedToLegalStatement = false);
        }
        public void AddGuardianPartnerDetails_Validation()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            GuardianPartnerDetailsShouldBeValid(form, m => { });

            GuardianPartnerDetailsShouldBeInvalid(form, m => m.FullName      = null);
            GuardianPartnerDetailsShouldBeInvalid(form, m => m.Address.Line1 = null);
        }
コード例 #11
0
        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 AddHealthProfessional_Validation()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            HealthProfessionalShouldBeValid(form, m => { });

            HealthProfessionalShouldBeInvalid(form, m => m.Invalid());
            HealthProfessionalShouldBeInvalid(form, m => m.Pin = null);
        }
        public void ApplicantDetails_UsesEmailToIdentifyUser()
        {
            var form    = new BestStartGrantBuilder("form").Insert();
            var details = ApplicantDetailsBuilder.NewValid(d => d.EmailAddress = "test.email");

            form.AddApplicantDetails(details);

            form.UserId.Should().Be("test.email");
        }
        public void AddGuardianPartnerDetails_FormatsNationalInsuranceNumber()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            var details = RelationDetailsBuilder.NewValid(d => d.NationalInsuranceNumber = "AB123456C");

            form.AddGuardianPartnerDetails(details);

            form.GuardianPartnerDetails.NationalInsuranceNumber.Should().Be("AB 12 34 56 C");
        }
コード例 #15
0
        public void AddPaymentDetails_AccountNumberValidated()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            PaymentDetailsShouldBeValid(form, m => m.AccountNumber = "0");
            PaymentDetailsShouldBeValid(form, m => m.AccountNumber = "01234567");

            PaymentDetailsShouldBeInvalid(form, m => m.AccountNumber = "x");
            PaymentDetailsShouldBeInvalid(form, m => m.AccountNumber = " 1 ");
        }
コード例 #16
0
        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 AddApplicantBenefits_Validation()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            ApplicantBenefitsShouldBeValid(form, m => { });

            ApplicantBenefitsShouldBeInvalid(form, m => m.SetEmpty());
            ApplicantBenefitsShouldBeInvalid(form, m => m.SetEmpty(b => { b.Unknown = true; b.HasIncomeSupport = true; }));
            ApplicantBenefitsShouldBeInvalid(form, m => m.SetEmpty(b => { b.HasIncomeSupport = true; b.None = true; }));
            ApplicantBenefitsShouldBeInvalid(form, m => m.SetEmpty(b => { b.None = true; b.Unknown = true; }));
        }
コード例 #18
0
        public void Complete_ThrowsIfAlreadyCompleted()
        {
            var form = new BestStartGrantBuilder("form")
                       .WithCompletedSections()
                       .Value();

            form.Completed.Should().HaveValue();

            Assert.Throws <DomainException>(() =>
                                            form.AddConsent(ConsentBuilder.NewValid()));
        }
コード例 #19
0
        public void Evidence_Validation()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            EvidenceShouldBeValid(form, m => { });
            EvidenceShouldBeValid(form, m => { m.SendingByPost = true; m.Files = new List <EvidenceFile>(); });
            EvidenceShouldBeValid(form, m => { m.SendingByPost = false; m.Files = new List <EvidenceFile> {
                                                   new EvidenceFile()
                                               }; });

            EvidenceShouldBeInvalid(form, m => { m.SendingByPost = false; m.Files = new List <EvidenceFile>(); });
        }
コード例 #20
0
        public void Complete_SetsCompletionDate()
        {
            var form = new BestStartGrantBuilder("form")
                       .WithCompletedSections(markAsCompleted: false)
                       .With(f => f.Declaration, null)
                       .Insert();

            var next = form.AddDeclaration(DeclarationBuilder.NewValid());

            next.Section.Should().BeNull("this should be the last section that is filled out");
            form.Completed.Should().Be(TestNowUtc.Value);
        }
コード例 #21
0
        public void AddPaymentDetails_SortCodeValidated()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            PaymentDetailsShouldBeValid(form, m => m.SortCode = "01-02-03");

            PaymentDetailsShouldBeInvalid(form, m => m.SortCode = "01-02-033");
            PaymentDetailsShouldBeInvalid(form, m => m.SortCode = "01 02-03");
            PaymentDetailsShouldBeInvalid(form, m => m.SortCode = "01-02.03");
            PaymentDetailsShouldBeInvalid(form, m => m.SortCode = "x1-02-03");
            PaymentDetailsShouldBeInvalid(form, m => m.SortCode = "01-0x-03");
            PaymentDetailsShouldBeInvalid(form, m => m.SortCode = "01-02-.3");
        }
コード例 #22
0
        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)");
        }
コード例 #23
0
        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 AddGuardianDetails_Validation()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            GuardianDetailsShouldBeValid(form, m => { });
            GuardianDetailsShouldBeValid(form, m => m.Title         = null);
            GuardianDetailsShouldBeValid(form, m => m.Address.Line2 = null);
            GuardianDetailsShouldBeValid(form, m => m.Address.Line3 = null);

            GuardianDetailsShouldBeInvalid(form, m => m.FullName                = null);
            GuardianDetailsShouldBeInvalid(form, m => m.DateOfBirth             = null);
            GuardianDetailsShouldBeInvalid(form, m => m.DateOfBirth             = TestNowUtc);
            GuardianDetailsShouldBeInvalid(form, m => m.NationalInsuranceNumber = null);
            GuardianDetailsShouldBeInvalid(form, m => m.RelationshipToApplicant = null);
            GuardianDetailsShouldBeInvalid(form, m => m.Address.Line1           = null);
            GuardianDetailsShouldBeInvalid(form, m => m.Address.Postcode        = null);
        }
        public void AddPartnerDetails_AllowsAddressToBeInherited()
        {
            var form = new BestStartGrantBuilder("form")
                       .With(f => f.PartnerDetails, RelationDetailsBuilder.NewValid())
                       .Insert();

            var inheritedDetails = RelationDetailsBuilder.NewValid(rd =>
            {
                rd.InheritAddress = true;
                rd.Address        = null;
            });

            form.AddPartnerDetails(inheritedDetails);

            form.PartnerDetails.InheritAddress.Should().BeTrue();
            form.PartnerDetails.Address.Should().BeNull();
        }
        public void AddApplicantDetails_NationalInsuranceNumber_FormattedCorrectly()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            ApplicantDetailsShouldBeValid(form, m => m.NationalInsuranceNumber = "AB 12 34 56 C", m => m.NationalInsuranceNumber.Should().Be("AB 12 34 56 C"));
            ApplicantDetailsShouldBeValid(form, m => m.NationalInsuranceNumber = "ab 12 34 56 c", m => m.NationalInsuranceNumber.Should().Be("AB 12 34 56 C"));
            ApplicantDetailsShouldBeValid(form, m => m.NationalInsuranceNumber = "Ab123456c", m => m.NationalInsuranceNumber.Should().Be("AB 12 34 56 C"));
            ApplicantDetailsShouldBeValid(form, m => m.NationalInsuranceNumber = "AB/123456/c", m => m.NationalInsuranceNumber.Should().Be("AB 12 34 56 C"));

            ApplicantDetailsShouldBeInvalid(form, m => m.NationalInsuranceNumber = "A 12 34 56 C");
            ApplicantDetailsShouldBeInvalid(form, m => m.NationalInsuranceNumber = "AB 12 34 56 CD");
            ApplicantDetailsShouldBeInvalid(form, m => m.NationalInsuranceNumber = "AB 12/34/56 C");
            ApplicantDetailsShouldBeInvalid(form, m => m.NationalInsuranceNumber = "A. 12 34 56 C");
            ApplicantDetailsShouldBeInvalid(form, m => m.NationalInsuranceNumber = "AB .2 34 56 C");
            ApplicantDetailsShouldBeInvalid(form, m => m.NationalInsuranceNumber = "AB 12 .4 56 C");
            ApplicantDetailsShouldBeInvalid(form, m => m.NationalInsuranceNumber = "AB 12 34 .6 C");
            ApplicantDetailsShouldBeInvalid(form, m => m.NationalInsuranceNumber = "A5 12 34 56 .");
        }
コード例 #27
0
        public void AddEvidenceFile()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            var fileBytes = Encoding.ASCII.GetBytes("some content");

            form.AddEvidenceFile("FileName1.txt", fileBytes);

            var storedForm = Repository.Load <BestStartGrant>(form.Id);

            storedForm.Evidence.Files.Count.Should().Be(1);

            var file = storedForm.Evidence.Files[0];

            file.Name.Should().Be("FileName1.txt");

            CloudStore.List("bsg-" + form.Id).Should().Contain(file.CloudName);
        }
コード例 #28
0
        public void RequiresApplicantBenefits_NotRequiredWhenAskingGuardianBenefits()
        {
            var form = new BestStartGrantBuilder("form")
                       .With(f => f.ApplicantDetails, ApplicantDetailsBuilder.NewValid())
                       .Value();

            form.ApplicantDetails.Aged(TestNowUtc.Value, 18);
            form.ApplicantDetails.FullTimeEducation = false;
            BestStartGrant.ShouldAskEducationQuestion(form.ApplicantDetails).Should().BeTrue("ensure question is asked");

            Navigation.RequiresApplicantBenefits(form).Should().BeTrue("should ask for applicant benefits if not asking for guardian benefits");

            form.ApplicantDetails.Aged(TestNowUtc.Value, 19);
            form.ApplicantDetails.FullTimeEducation = true;
            BestStartGrant.ShouldAskEducationQuestion(form.ApplicantDetails).Should().BeTrue("ensure question is asked");

            Navigation.RequiresApplicantBenefits(form).Should().BeFalse("should not ask for applicant benefits if asking for guardian benefits");
        }
        public void AddExistingChildren_Validation()
        {
            var form = new BestStartGrantBuilder("form").Insert();

            ExistingChildrenShouldBeValid(form, m => { });
            ExistingChildrenShouldBeValid(form, m => { m.AnyExistingChildren = false; m.Children = new List <ExistingChild>(); });
            ExistingChildrenShouldBeValid(form, m => { m.Children[0].ChildBenefit = true; m.Children[0].NoChildBenefitReason = null; });

            ExistingChildrenShouldBeInvalid(form, m => m.AnyExistingChildren = null);
            ExistingChildrenShouldBeInvalid(form, m => { m.AnyExistingChildren = true; m.Children = new List <ExistingChild>(); });
            ExistingChildrenShouldBeInvalid(form, m => { m.AnyExistingChildren = false; m.Children.Count.Should().BeGreaterThan(0, "ensure we have children for this test"); });
            ExistingChildrenShouldBeInvalid(form, m => m.Children[0].FirstName    = null);
            ExistingChildrenShouldBeInvalid(form, m => m.Children[0].Surname      = null);
            ExistingChildrenShouldBeInvalid(form, m => m.Children[0].DateOfBirth  = null);
            ExistingChildrenShouldBeInvalid(form, m => m.Children[0].DateOfBirth  = TestNowUtc);
            ExistingChildrenShouldBeInvalid(form, m => m.Children[0].Relationship = null);
            ExistingChildrenShouldBeInvalid(form, m => m.Children[0].ChildBenefit = null);
            ExistingChildrenShouldBeInvalid(form, m => { m.Children[0].ChildBenefit = false; m.Children[0].NoChildBenefitReason = null; });
        }
コード例 #30
0
        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'");
        }