public async Task <string> GetStandardAsync( int learningDeliveryStandardCode, CancellationToken cancellationToken) { await _getStandardsLock.WaitAsync(cancellationToken); try { if (cancellationToken.IsCancellationRequested) { return(null); } if (!_loadedStandards.ContainsKey(learningDeliveryStandardCode)) { using (var context = _larsContext()) { LarsStandard larsStandard = await context.LARS_Standards .SingleOrDefaultAsync(l => l.StandardCode == learningDeliveryStandardCode, cancellationToken); _loadedStandards[learningDeliveryStandardCode] = larsStandard?.NotionalEndLevel ?? "NA"; } } } catch (Exception ex) { _logger.LogError("Failed to get LARS standards", ex); } finally { _getStandardsLock.Release(); } return(_loadedStandards[learningDeliveryStandardCode]); }
public bool Testcase(DateTime effectivefrom, DateTime effectiveto) { // Arrange var sut = new LarsStandard { EffectiveFrom = effectivefrom, EffectiveTo = effectiveto }; // Act return(sut.IsValidDate(DateTime.UtcNow)); }
public void Then_The_Fields_Are_Mapped_Correctly(LarsStandard larsStandard) { var actual = (StandardDates)larsStandard; actual.Should().BeEquivalentTo(larsStandard, options => options .Excluding(c => c.LarsCode) .Excluding(c => c.Version) .Excluding(c => c.Standards) .Excluding(c => c.SectorSubjectArea) .Excluding(c => c.SectorSubjectAreaTier2) .Excluding(c => c.OtherBodyApprovalRequired) ); }
public void ShouldBeInvalidIfTheEndDateIsInThePast() { // Arrange var sut = new LarsStandard { EffectiveFrom = DateTime.MaxValue, EffectiveTo = DateTime.UtcNow.AddYears(-1) }; // Act var result = sut.IsValidDate(DateTime.UtcNow); // Assert Assert.IsFalse(result); }
public void ShouldBeInvalidIfTheStartDateIsInTheFuture() { // Arrange var sut = new LarsStandard { EffectiveFrom = DateTime.MaxValue, EffectiveTo = null }; // Act var result = sut.IsValidDate(DateTime.UtcNow); // Assert Assert.IsFalse(result); }
public void ShouldBeInvalidIfItHasNoStartDate() { // Arrange var sut = new LarsStandard { EffectiveFrom = null, EffectiveTo = null }; // Act var result = sut.IsValidDate(DateTime.UtcNow); // Assert Assert.IsFalse(result); }
public void ShouldBeValidIfTheStartDateisTodayAndEndDateIsInFuture() { // Arrange var sut = new LarsStandard { EffectiveFrom = DateTime.UtcNow, EffectiveTo = DateTime.MaxValue }; // Act var result = sut.IsValidDate(DateTime.UtcNow); // Assert Assert.IsTrue(result); }
public void ShouldBeValidIfItHasNoEndDate() { // Arrange var sut = new LarsStandard { EffectiveFrom = DateTime.MinValue, EffectiveTo = null }; // Act var result = sut.IsValidDate(DateTime.UtcNow); // Assert Assert.IsTrue(result); }
public StandardLars CreateLarsStandardDocument(LarsStandard standard) { return(new StandardLars { Id = standard.Id, Title = standard.Title, StandardSectorCode = standard.StandardSectorCode, NotionalEndLevel = standard.NotionalEndLevel, SectorSubjectAreaTier1 = standard.SectorSubjectAreaTier1, SectorSubjectAreaTier2 = standard.SectorSubjectAreaTier2, Duration = standard.Duration, FundingPeriods = standard.FundingPeriods, FundingCap = standard.FundingCap, EffectiveFrom = standard.EffectiveFrom, EffectiveTo = standard.EffectiveTo, LastDateForNewStarts = standard.LastDateForNewStarts, RegulatedStandard = standard.RegulatedStandard }); }
private StandardRepositoryData MapStandardData(LarsStandard larsStandard) { var standardRepositoryData = new StandardRepositoryData { Id = larsStandard.Id, Title = larsStandard.Title, JobRoles = new List <string>(), Keywords = new List <string>(), TypicalLength = new TypicalLength { Unit = "m" }, OverviewOfRole = string.Empty, EntryRequirements = string.Empty, WhatApprenticesWillLearn = string.Empty, Qualifications = string.Empty, ProfessionalRegistration = string.Empty, Duration = larsStandard.Duration, FundingCap = larsStandard.FundingCap }; return(standardRepositoryData); }