public Track[] ViewPendingTracks(int limitCount) { var track = (new Track()).Mock(); var trackArray = MockExtensions.GetManyFromCollection(MockExtensions.Tracks).Take(limitCount).ToArray(); return(trackArray); }
private ILooseMessage BuildIlrMessage() { return(MockExtensions.NewMock <ILooseMessage>() .With(h => h.HeaderEntity.CollectionDetailsEntity.FilePreparationDate, new DateTime(2019, 11, 06)) .With(m => m.Learners, BuildLearners()) .With(l => l.LearnerDestinationAndProgressions, BuildLearnerDesintationAndProgressions()).Build()); }
public void ShouldReturnOdsInstance() { var odsInstanceData = new List <OdsInstance> { new OdsInstance { Name = "Foo", InstanceType = "Cloud", Status = CloudOdsStatus.Ok.DisplayName, IsExtended = false, Version = "0.0.1" } }; var mockOdsInstances = MockExtensions.MockDbSet(odsInstanceData); var mockContext = new Mock <IUsersContext>(); mockContext.Setup(c => c.OdsInstances).Returns(mockOdsInstances.Object); var query = new GetOdsInstanceQuery(mockContext.Object); var odsInstance = query.Execute("Foo"); odsInstance.Name.ShouldBe("Foo"); odsInstance.InstanceType.ShouldBe("Cloud"); odsInstance.Status.ShouldBe(CloudOdsStatus.Ok.DisplayName); odsInstance.IsExtended.ShouldBe(false); odsInstance.Version.ShouldBe("0.0.1"); }
public void BuildLearnerDictionary_NullLearners() { var message = MockExtensions.NewMock <ILooseMessage>() .With(m => m.Learners, null) .Object; NewBuilder().BuildLearnerDictionary(message).Should().BeEmpty(); }
public void Reset() { MockExtensions.Reset(this); _dbSetCache.Clear(); Setup(x => x.SaveChanges()).Returns(SaveChanges); Setup(x => x.SaveChangesAsync()).ReturnsAsync(SaveChanges); Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).ReturnsAsync(SaveChanges); }
private static List <ILooseLearner> BuildLearnersWithoutLearningDeliveries() { var looseLearner = MockExtensions.NewMock <ILooseLearner>() .With(l => l.LearnRefNumber, "LearnRefNumber1").Build(); return(new List <ILooseLearner>() { looseLearner }); }
public void Link_To_Corporate_Site() { var menuController = Mock <MenuController>(); menuController.RouteData.DataTokens.Add("ParentActionViewContext", MockExtensions.Mock <ControllerContext>()); menuController.Invoke("ListMenu"); var originalMenu = menuController.Response.Output.ToString(); Assert.IsTrue(originalMenu.Contains("<a href=\"http://www.epicdiagnostics.com/\"")); }
private IReadOnlyCollection <ILooseLearnerDestinationAndProgression> BuildLearnerDesintationAndProgressions() { var list = new List <ILooseLearnerDestinationAndProgression>(); for (int i = 1; i <= 8; i++) { var looseLearnerDestinationAndProgression = MockExtensions.NewMock <ILooseLearnerDestinationAndProgression>() .With(l => l.LearnRefNumber, "LearnRefNumber" + i).Build(); list.Add(looseLearnerDestinationAndProgression); } return(list); }
private ILooseMessage BuildIlrMessage() { return(MockExtensions.NewMock <ILooseMessage>() .With(m => m.Learners, new List <ILooseLearner>() { MockExtensions.NewMock <ILooseLearner>() .With(l => l.LearnRefNumber, "0AchDt03") .With(l => l.LearningDeliveries, new List <ILooseLearningDelivery>() { MockExtensions.NewMock <ILooseLearningDelivery>() .With(ld => ld.AimSeqNumberNullable, 1) .With(ld => ld.LearnAimRef, "60133533") .With(ld => ld.SWSupAimId, "01035bef-5316-4e83-9f5d-53536ac97bb2") .With(ld => ld.FundModelNullable, 82) .With(ld => ld.ProviderSpecDeliveryMonitorings, new List <ILooseProviderSpecDeliveryMonitoring>() { MockExtensions.NewMock <ILooseProviderSpecDeliveryMonitoring>() .With(m => m.ProvSpecDelMon, "1") .With(m => m.ProvSpecDelMonOccur, "A") .Build(), MockExtensions.NewMock <ILooseProviderSpecDeliveryMonitoring>() .With(m => m.ProvSpecDelMon, "2") .With(m => m.ProvSpecDelMonOccur, "B") .Build(), MockExtensions.NewMock <ILooseProviderSpecDeliveryMonitoring>() .With(m => m.ProvSpecDelMon, "3") .With(m => m.ProvSpecDelMonOccur, "C") .Build(), MockExtensions.NewMock <ILooseProviderSpecDeliveryMonitoring>() .With(m => m.ProvSpecDelMon, "4") .With(m => m.ProvSpecDelMonOccur, "D") .Build(), }).Build() }).Build(), MockExtensions.NewMock <ILooseLearner>() .With(l => l.LearnRefNumber, "0AchDt08") .With(l => l.LearningDeliveries, new List <ILooseLearningDelivery>() { MockExtensions.NewMock <ILooseLearningDelivery>() .With(ld => ld.AimSeqNumberNullable, 1) .With(ld => ld.LearnAimRef, "ZPROG001") .With(ld => ld.SWSupAimId, "6406d4f6-f38a-45a9-9b9a-f956728ce540") .With(ld => ld.FundModelNullable, 81) .Build() }).Build() }).Build()); }
private static List <ILooseLearner> BuildLearners() { var looseLearners = new List <ILooseLearner>(); for (int i = 1; i <= 10; i++) { var looseLearner = MockExtensions.NewMock <ILooseLearner>() .With(l => l.LearnRefNumber, "LearnRefNumber" + i) .With(l => l.LearningDeliveries, BuildLearningDeliveries()).Build(); looseLearners.Add(looseLearner); } return(looseLearners); }
private static OnPremFirstTimeSetupService GetFirstTimeSetupService(List <OdsInstance> instances, List <Application> applications = null) { var mockApplications = applications != null?MockExtensions.MockDbSet(applications) : MockExtensions.EmptyMockDbSet <Application>(); var mockOdsInstance = MockExtensions.MockDbSet(instances); var mockVendors = MockExtensions.EmptyMockDbSet <Vendor>(); var usersContext = new Mock <IUsersContext>(); usersContext.Setup(x => x.Applications).Returns(mockApplications.Object); usersContext.Setup(x => x.Vendors).Returns(mockVendors.Object); usersContext.Setup(x => x.OdsInstances).Returns(mockOdsInstance.Object); var securePackedHashProvider = new Mock <ISecurePackedHashProvider>(); var hashConfigProvider = new Mock <IHashConfigurationProvider>(); return(new OnPremFirstTimeSetupService(usersContext.Object, securePackedHashProvider.Object, hashConfigProvider.Object)); }
private static List <ILooseLearningDelivery> BuildLearningDeliveries() { var looseLearningDeliveries = new List <ILooseLearningDelivery>(); var fundModels = new List <int> { 36, 25, 35, 10, 70, 81, 82, 99 }; foreach (var fundModel in fundModels) { for (int i = 1; i <= 10; i++) { var looseLearningDelivery = MockExtensions.NewMock <ILooseLearningDelivery>() .With(ld => ld.FundModelNullable, fundModel) .Build(); looseLearningDeliveries.Add(looseLearningDelivery); } } return(looseLearningDeliveries); }
private SetupAcademicBenchmarksConnectService GetSetupServiceWithOdsInstance() { var odsInstanceList = new List <OdsInstance> { new OdsInstance { Name = OdsInstanceName } }; var instanceContext = new InstanceContext { Id = 1, Name = OdsInstanceName }; var mockOdsInstances = MockExtensions.MockDbSet(odsInstanceList); var mockVendors = MockExtensions.EmptyMockDbSet <Vendor>(); var mockApps = MockExtensions.EmptyMockDbSet <Application>(); _usersContext.Setup(c => c.OdsInstances).Returns(mockOdsInstances.Object); _usersContext.Setup(c => c.Vendors).Returns(mockVendors.Object); _usersContext.Setup(c => c.Applications).Returns(mockApps.Object); var hashConfigProvider = new Mock <IHashConfigurationProvider>(); hashConfigProvider.Setup(x => x.GetHashConfiguration()).Returns(new HashConfiguration { Algorithm = "Test", Iterations = 1, SaltSize = 256 }); var hashProvider = new Mock <ISecurePackedHashProvider>(); hashProvider .Setup(x => x.ComputePackedHashString(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())).Returns("hashedTestValuex"); var odsSecretConfig = new Mock <IOdsSecretConfigurationProvider>(); odsSecretConfig.Setup(x => x.GetSecretConfiguration(1)).ReturnsAsync(new OdsSecretConfiguration()); return(new SetupAcademicBenchmarksConnectService(_usersContext.Object, hashProvider.Object, hashConfigProvider.Object, odsSecretConfig.Object, instanceContext)); }
public void Build_WithNoLearningDeliveries() { var referenceDataRoot = BuildReferenceDataRoot(); var message = MockExtensions.NewMock <ILooseMessage>() .With(h => h.HeaderEntity.CollectionDetailsEntity.FilePreparationDate, new DateTime(2019, 11, 06)) .With(m => m.Learners, BuildLearnersWithoutLearningDeliveries()) .With(l => l.LearnerDestinationAndProgressions, BuildLearnerDesintationAndProgressions()).Build(); var validationErrors = new List <ValidationError>(); var dependentDataMock = new Mock <IReportServiceDependentData>(); dependentDataMock.Setup(d => d.Get <ILooseMessage>()).Returns(message); dependentDataMock.Setup(d => d.Get <ReferenceDataRoot>()).Returns(referenceDataRoot); dependentDataMock.Setup(d => d.Get <List <ValidationError> >()).Returns(validationErrors); var dateTimeProvider = new Mock <IDateTimeProvider>(); var reportServiceContextMock = new Mock <IReportServiceContext>(); var result = NewBuilder(dateTimeProvider.Object).Build(reportServiceContextMock.Object, dependentDataMock.Object); result.TotalNoOfErrors.Should().Be(0); result.TotalNoOfLearners.Should().Be(1); result.TotalNoOfWarnings.Should().Be(0); result.TotalNoOfLearnersWithWarnings.Should().Be(0); result.LearningDeliveries.Apprenticeships.Should().Be(0); result.LearningDeliveries.Funded1619.Should().Be(0); result.LearningDeliveries.AdultSkilledFunded.Should().Be(0); result.LearningDeliveries.CommunityLearningFunded.Should().Be(0); result.LearningDeliveries.ESFFunded.Should().Be(0); result.LearningDeliveries.OtherAdultFunded.Should().Be(0); result.LearningDeliveries.Other1619Funded.Should().Be(0); result.LearningDeliveries.NonFunded.Should().Be(0); result.LearningDeliveries.Total.Should().Be(0); result.LearnerDestinationProgressionSummary.ValidLearnerDestinationProgressions.Should().Be(8); result.LearnerDestinationProgressionSummary.InValidLearnerDestinationProgressions.Should().Be(0); result.LearnerDestinationProgressionSummary.Total.Should().Be(8); }
public void BuildLearnerDictionary_NullLearnRefNumber() { var learnerOne = MockExtensions.NewMock <ILooseLearner>() .With(l => l.LearnRefNumber, "One") .Object; var learnerTwo = MockExtensions.NewMock <ILooseLearner>() .With(l => l.LearnRefNumber, null) .Object; var message = MockExtensions.NewMock <ILooseMessage>() .With(m => m.Learners, new List <ILooseLearner>() { learnerOne, learnerTwo }) .Object; var dictionary = NewBuilder().BuildLearnerDictionary(message); dictionary.Should().HaveCount(1); dictionary.Should().ContainKey("One"); }
public async Task ShouldConfigureClaimSet() { var odsInstanceList = new List <OdsInstance>(); var mockOdsInstances = MockExtensions.MockDbSet(odsInstanceList); var vendorsList = new List <Vendor>(); var mockVendors = MockExtensions.MockDbSet(vendorsList); var appsList = new List <Application>(); var mockApps = MockExtensions.MockDbSet(appsList); var mockUsersContext = new Mock <IUsersContext>(); mockUsersContext.Setup(c => c.OdsInstances).Returns(mockOdsInstances.Object); mockUsersContext.Setup(c => c.Vendors).Returns(mockVendors.Object); mockUsersContext.Setup(c => c.Applications).Returns(mockApps.Object); var mockApplications = MockExtensions.EmptyMockDbSet <Security.DataAccess.Models.Application>(); var mockSecurityContext = new Mock <ISecurityContext>(); mockSecurityContext.Object.Applications = mockApplications.Object; var mockClaimSetConfigurator = new Mock <ICloudOdsClaimSetConfigurator>(); mockClaimSetConfigurator.Setup(m => m.ApplyConfiguration(null)).Callback(() => { }); var mockCloudOdsInstanceQuery = new Mock <IGetCloudOdsInstanceQuery>(); mockCloudOdsInstanceQuery.Setup(a => a.Execute(It.IsAny <string>())).ReturnsAsync(GetDefaultInstance()); var mockOdsSecretConfigurationProvider = new Mock <IOdsSecretConfigurationProvider>(); var odsSecretConfiguration = GetOdsSecretConfiguration(); mockOdsSecretConfigurationProvider.Setup(a => a.GetSecretConfiguration(null)).ReturnsAsync(odsSecretConfiguration); mockOdsSecretConfigurationProvider.Setup(a => a.SetSecretConfiguration(It.IsAny <OdsSecretConfiguration>(), null)).Returns(Task.CompletedTask); var mockFirstTimeSetupService = new Mock <IOdsInstanceFirstTimeSetupService>(); var mockAssessmentVendorAdjustment = new Mock <IAssessmentVendorAdjustment>(); var mockLearningStandardsSetup = new Mock <ILearningStandardsSetup>(); var mockClaimSetCheckService = new Mock <IClaimSetCheckService>(); mockClaimSetCheckService.Setup(a => a.RequiredClaimSetsExist()).Returns(false); var mockInferInstanceService = new Mock <IInferInstanceService>(); var command = new CompleteOnPremFirstTimeSetupCommand( mockUsersContext.Object, mockSecurityContext.Object, mockClaimSetConfigurator.Object, mockFirstTimeSetupService.Object, mockAssessmentVendorAdjustment.Object, mockLearningStandardsSetup.Object, mockClaimSetCheckService.Object, mockInferInstanceService.Object); await command.Execute(GetOdsName(), GetClaimSet(), ApiMode.SharedInstance); mockClaimSetConfigurator.Verify(x => x.ApplyConfiguration(It.Is <CloudOdsClaimSet>(c => c.ClaimSetName == CloudOdsAdminApp.InternalAdminAppClaimSet && c.ApplicationName == CloudOdsAdminApp.ApplicationName)), Times.Once); }
public async Task ShouldRunSqlConfigurator() { var odsSecretConfiguration = GetOdsSecretConfiguration(); var odsSqlConfiguration = GetOdsSqlConfiguration(); var setupConfig = GetFirstTimeSetupConfiguration(); setupConfig.SqlConfiguration = odsSqlConfiguration; var mockOdsInstances = MockExtensions.EmptyMockDbSet <OdsInstance>(); var mockVendors = MockExtensions.EmptyMockDbSet <Vendor>(); var mockApps = MockExtensions.EmptyMockDbSet <Application>(); var mockUsersContext = new Mock <IUsersContext>(); mockUsersContext.Setup(c => c.OdsInstances).Returns(mockOdsInstances.Object); mockUsersContext.Setup(c => c.Vendors).Returns(mockVendors.Object); mockUsersContext.Setup(c => c.Applications).Returns(mockApps.Object); var mockApplications = MockExtensions.EmptyMockDbSet <Security.DataAccess.Models.Application>(); var mockSecurityContext = new Mock <ISecurityContext>(); mockSecurityContext.Object.Applications = mockApplications.Object; var mockSqlConfigurator = GetMockDatabaseSecurityConfigurator(); var mockClaimSetConfigurator = new Mock <ICloudOdsClaimSetConfigurator>(); mockClaimSetConfigurator.Setup(m => m.ApplyConfiguration(null)).Callback(() => { }); var mockCloudOdsInstanceQuery = new Mock <IGetCloudOdsInstanceQuery>(); mockCloudOdsInstanceQuery.Setup(a => a.Execute(It.IsAny <string>())).ReturnsAsync(GetDefaultInstance()); var mockGetCloudHostedComponentQuery = new Mock <IGetAzureCloudOdsHostedComponentsQuery>(); mockGetCloudHostedComponentQuery.Setup(a => a.Execute(It.IsAny <CloudOdsInstance>())) .ReturnsAsync(GetMockComponents()); var mockOdsSecretConfigurationProvider = new Mock <IOdsSecretConfigurationProvider>(); mockOdsSecretConfigurationProvider.Setup(a => a.GetSqlConfiguration()).ReturnsAsync(odsSqlConfiguration); mockOdsSecretConfigurationProvider.Setup(a => a.GetSecretConfiguration(null)).ReturnsAsync(odsSecretConfiguration); mockOdsSecretConfigurationProvider.Setup(a => a.SetSecretConfiguration(It.IsAny <OdsSecretConfiguration>(), null)).Returns(Task.CompletedTask); var mockCloudOdsDatabaseSqlServerSecurityConfiguration = new Mock <ICloudOdsDatabaseSqlServerSecurityConfiguration>(); var mockFirstTimeSetupService = new Mock <IOdsInstanceFirstTimeSetupService>(); var mockRestartAppServicesCommand = new Mock <IRestartAppServicesCommand>(); var mockAssessmentVendorAdjustment = new Mock <IAssessmentVendorAdjustment>(); var mockLearningStandardsSetup = new Mock <ILearningStandardsSetup>(); var command = new CompleteAzureFirstTimeSetupCommand( mockUsersContext.Object, mockSqlConfigurator.Object, mockSecurityContext.Object, mockClaimSetConfigurator.Object, mockCloudOdsInstanceQuery.Object, mockGetCloudHostedComponentQuery.Object, mockOdsSecretConfigurationProvider.Object, mockCloudOdsDatabaseSqlServerSecurityConfiguration.Object, mockFirstTimeSetupService.Object, mockRestartAppServicesCommand.Object, mockAssessmentVendorAdjustment.Object, mockLearningStandardsSetup.Object); await command.Execute(GetOdsName(), GetClaimSet(), ApiMode.SharedInstance); mockSqlConfigurator.Verify(x => x.CreateServerLogins(It.IsAny <OdsSqlConfiguration>()), Times.Once); mockSqlConfigurator.Verify(x => x.ApplyConfiguration(It.IsAny <OdsSqlConfiguration>(), It.IsNotNull <IEnumerable <CloudOdsDatabaseSecurityConfiguration> >()), Times.Exactly(2)); mockSqlConfigurator.Verify(x => x.RemoveConfiguration(It.IsAny <OdsSqlConfiguration>(), It.IsNotNull <IEnumerable <CloudOdsDatabaseSecurityConfiguration> >()), Times.Once); }
public void Build_WithNoLearnersAndErrors() { var referenceDataRoot = BuildReferenceDataRoot(); var message = MockExtensions.NewMock <ILooseMessage>() .With(h => h.HeaderEntity.CollectionDetailsEntity.FilePreparationDate, new DateTime(2019, 11, 06)) .Build(); var validationErrors = new List <ValidationError>(); var dependentDataMock = new Mock <IReportServiceDependentData>(); dependentDataMock.Setup(d => d.Get <ILooseMessage>()).Returns(message); dependentDataMock.Setup(d => d.Get <ReferenceDataRoot>()).Returns(referenceDataRoot); dependentDataMock.Setup(d => d.Get <List <ValidationError> >()).Returns(validationErrors); var submissionDateTime = new DateTime(2019, 1, 1, 1, 1, 1); var ukDateTime = new DateTime(2020, 1, 1, 1, 1, 1); var dateTimeProvider = new Mock <IDateTimeProvider>(); var reportServiceContextMock = new Mock <IReportServiceContext>(); reportServiceContextMock.SetupGet(c => c.Ukprn).Returns(987654321); reportServiceContextMock.SetupGet(c => c.SubmissionDateTimeUtc).Returns(submissionDateTime); reportServiceContextMock.SetupGet(c => c.ServiceReleaseVersion).Returns("11.22.3300.4321"); reportServiceContextMock.SetupGet(c => c.IlrReportingFilename).Returns("ILR-12345678-1920-20191005-151322-01.xml"); dateTimeProvider.Setup(p => p.ConvertUtcToUk(submissionDateTime)).Returns(ukDateTime); dateTimeProvider.Setup(p => p.GetNowUtc()).Returns(submissionDateTime); var result = NewBuilder(dateTimeProvider.Object).Build(reportServiceContextMock.Object, dependentDataMock.Object); result.ProviderName.Should().Be("Provider: Provider XYZ"); result.Ukprn.Should().Be("UKPRN: 987654321"); result.Year.Should().Be("2020/21"); result.ApplicationVersion.Should().Be("11.22.3300.4321"); result.OrganisationData.Should().Be("1.1.1.1"); result.LargeEmployerData.Should().Be("2.2.2.2"); result.LarsData.Should().Be("3.3.3.3"); result.PostcodeData.Should().Be("4.4.4.4"); result.CampusIdData.Should().Be("5.5.5.5"); result.DevolvedPostcodesData.Should().Be("7.7.7.7"); result.FilePreparationDate.Should().Be("06/11/2019"); result.IlrFile.Should().Be("ILR File: ILR-12345678-1920-20191005-151322-01.xml"); result.ReportGeneratedAt.Should().Be("Report generated at: 01:01:01 on 01/01/2020"); result.TotalNoOfErrors.Should().Be(0); result.TotalNoOfLearners.Should().Be(0); result.TotalNoOfWarnings.Should().Be(0); result.TotalNoOfLearnersWithWarnings.Should().Be(0); result.Errors.Count.Should().Be(0); result.Warnings.Count.Should().Be(0); result.FullyValidLearners.Apprenticeships.Should().Be(0); result.FullyValidLearners.Funded1619.Should().Be(0); result.FullyValidLearners.AdultSkilledFunded.Should().Be(0); result.FullyValidLearners.CommunityLearningFunded.Should().Be(0); result.FullyValidLearners.ESFFunded.Should().Be(0); result.FullyValidLearners.OtherAdultFunded.Should().Be(0); result.FullyValidLearners.Other1619Funded.Should().Be(0); result.FullyValidLearners.NonFunded.Should().Be(0); result.FullyValidLearners.Total.Should().Be(0); result.InvalidLearners.Apprenticeships.Should().Be(0); result.InvalidLearners.Funded1619.Should().Be(0); result.InvalidLearners.AdultSkilledFunded.Should().Be(0); result.InvalidLearners.CommunityLearningFunded.Should().Be(0); result.InvalidLearners.ESFFunded.Should().Be(0); result.InvalidLearners.OtherAdultFunded.Should().Be(0); result.InvalidLearners.Other1619Funded.Should().Be(0); result.InvalidLearners.NonFunded.Should().Be(0); result.InvalidLearners.Total.Should().Be(0); result.LearningDeliveries.Apprenticeships.Should().Be(0); result.LearningDeliveries.Funded1619.Should().Be(0); result.LearningDeliveries.AdultSkilledFunded.Should().Be(0); result.LearningDeliveries.CommunityLearningFunded.Should().Be(0); result.LearningDeliveries.ESFFunded.Should().Be(0); result.LearningDeliveries.OtherAdultFunded.Should().Be(0); result.LearningDeliveries.Other1619Funded.Should().Be(0); result.LearningDeliveries.NonFunded.Should().Be(0); result.LearningDeliveries.Total.Should().Be(0); result.LearnerDestinationProgressionSummary.ValidLearnerDestinationProgressions.Should().Be(0); result.LearnerDestinationProgressionSummary.InValidLearnerDestinationProgressions.Should().Be(0); result.LearnerDestinationProgressionSummary.Total.Should().Be(0); }