Пример #1
0
        public void ScenariosThatDoNotProduceDatalocksBasedOnTransactionType(string errorMessage, byte testPeriod, DateTime commitmentStopDate, DateTime periodEndDate, TransactionType type)
        {
            period.Period = testPeriod;
            var validation = new DataLockValidationModel
            {
                PriceEpisode = new PriceEpisode {
                    Identifier = PriceEpisodeIdentifier,
                },
                EarningPeriod  = period,
                Apprenticeship = new ApprenticeshipModel
                {
                    Id = 1,
                    ApprenticeshipPriceEpisodes = new List <ApprenticeshipPriceEpisodeModel>
                    {
                        new ApprenticeshipPriceEpisodeModel
                        {
                            Id = 100,
                        },
                    },
                    StopDate = commitmentStopDate,
                    Status   = ApprenticeshipStatus.Stopped,
                },
                AcademicYear    = AcademicYear,
                TransactionType = type
            };

            var validator = new OnProgrammeAndIncentiveStoppedValidator(calculatePeriodStartAndEndDate.Object);
            var result    = validator.Validate(validation);

            result.DataLockErrorCode.Should().BeNull(errorMessage);
            result.ApprenticeshipPriceEpisodes.Should().HaveCount(1, errorMessage);
            result.ApprenticeshipPriceEpisodes[0].Id.Should().Be(100, errorMessage);
        }
Пример #2
0
        public void ScenariosThatProduceDLOCK_10(string errorMessage, byte testPeriod, DateTime commitmentStopDate, DateTime periodEndDate)
        {
            period.Period = testPeriod;
            var validation = new DataLockValidationModel
            {
                PriceEpisode = new PriceEpisode {
                    Identifier = PriceEpisodeIdentifier,
                },
                EarningPeriod  = period,
                Apprenticeship = new ApprenticeshipModel
                {
                    Id = 1,
                    ApprenticeshipPriceEpisodes = new List <ApprenticeshipPriceEpisodeModel>
                    {
                        new ApprenticeshipPriceEpisodeModel
                        {
                            Id = 100,
                        },
                    },
                    StopDate = commitmentStopDate,
                    Status   = ApprenticeshipStatus.Stopped,
                },
                AcademicYear    = AcademicYear,
                TransactionType = TransactionType.Learning,
            };

            calculatePeriodStartAndEndDate
            .Setup(x => x.GetPeriodDate(testPeriod, AcademicYear))
            .Returns((new DateTime(periodEndDate.Year, periodEndDate.Month, 1), periodEndDate))
            .Verifiable();

            var validator = new OnProgrammeAndIncentiveStoppedValidator(calculatePeriodStartAndEndDate.Object);
            var result    = validator.Validate(validation);

            result.DataLockErrorCode.Should().Be(DataLockErrorCode.DLOCK_10, errorMessage);
            result.ApprenticeshipPriceEpisodes.Should().BeEmpty(errorMessage);
        }