public EditApprenticeshipValidationServiceTestsFixture SetupMockContextApprenticeship(
            long id            = 100,
            long commitmentId  = 200,
            string firstName   = "FirstName",
            string lastName    = "lastName",
            int dobYear        = 1995,
            int dobMonth       = 1,
            int dobDay         = 1,
            string employerRef = "employerRef",
            string uln         = "XYZ123",
            string courseCode  = "12",
            Types.ProgrammeType programmeType = Types.ProgrammeType.Standard,
            int?transferSenderId = null,
            decimal cost         = 200,
            string reservationId = "134463EF-0088-4828-8775-EBD1223486AF",
            Types.PaymentStatus paymentStatus = Types.PaymentStatus.Active,
            bool hasHadDataLockSuccess        = false
            )
        {
            CreateApprenticeship(id, commitmentId, firstName, lastName, dobYear, dobMonth, dobDay, employerRef, uln, courseCode, programmeType, transferSenderId, cost, reservationId, paymentStatus, hasHadDataLockSuccess);

            WithStartDateInFuture();

            WithInFundingPeriod();

            WithPriceHistoryWithStartDate(cost);

            CreateMockApprenticeshipContext();
            return(this);
        }
        public EditApprenticeshipValidationServiceTestsFixture CreateApprenticeship(long id            = 100,
                                                                                    long commitmentId  = 200,
                                                                                    string firstName   = "FirstName",
                                                                                    string lastName    = "lastName",
                                                                                    int dobYear        = 1995,
                                                                                    int dobMonth       = 1,
                                                                                    int dobDay         = 1,
                                                                                    string employerRef = "employerRef",
                                                                                    string uln         = "XYZ123",
                                                                                    string courseCode  = "12",
                                                                                    Types.ProgrammeType programmeType = Types.ProgrammeType.Standard,
                                                                                    int?transferSenderId = null,
                                                                                    decimal cost         = 200,
                                                                                    string reservationId = "134463EF-0088-4828-8775-EBD1223486AF",
                                                                                    Types.PaymentStatus paymentStatus = Types.PaymentStatus.Active,
                                                                                    bool hasHadDataLockSuccess        = false)
        {
            _apprenticeship = new Apprenticeship
            {
                Id            = id,
                CommitmentId  = commitmentId,
                FirstName     = firstName,
                LastName      = lastName,
                DateOfBirth   = new DateTime(dobYear, dobMonth, dobDay),
                Cost          = cost,
                EmployerRef   = employerRef,
                ProgrammeType = programmeType,
                CourseCode    = courseCode,
                ReservationId = Guid.Parse(reservationId),
                Cohort        = new Cohort
                {
                    Id = commitmentId,
                    TransferSenderId = transferSenderId
                },
                Uln                   = uln,
                PaymentStatus         = paymentStatus,
                HasHadDataLockSuccess = hasHadDataLockSuccess
            };

            return(this);
        }