Beispiel #1
0
        public TestEngineService(
            ICacheProvider cacheProvider,
            ISpecificationRepository specificationRepository,
            ILogger logger,
            ITestEngine testEngine,
            IScenariosRepository scenariosRepository,
            IProviderSourceDatasetsRepository providerSourceDatasetsRepository,
            ITestResultsService testResultsService,
            ITestResultsRepository testResultsRepository,
            IBuildProjectRepository buildProjectRepository,
            ITelemetry telemetry,
            ITestRunnerResiliencePolicies resiliencePolicies,
            ICalculationsRepository calculationsRepository)
        {
            _cacheProvider           = cacheProvider;
            _specificationRepository = specificationRepository;
            _logger              = logger;
            _testEngine          = testEngine;
            _scenariosRepository = scenariosRepository;
            _providerSourceDatasetsRepository = providerSourceDatasetsRepository;
            _testResultsService    = testResultsService;
            _testResultsRepository = testResultsRepository;
            _telemetry             = telemetry;

            _cacheProviderPolicy                    = resiliencePolicies.CacheProviderRepository;
            _specificationRepositoryPolicy          = resiliencePolicies.SpecificationRepository;
            _scenariosRepositoryPolicy              = resiliencePolicies.ScenariosRepository;
            _providerSourceDatasetsRepositoryPolicy = resiliencePolicies.ProviderSourceDatasetsRepository;
            _testResultsRepositoryPolicy            = resiliencePolicies.TestResultsRepository;
            _builProjectsRepositoryPolicy           = resiliencePolicies.BuildProjectRepository;
            _buildProjectRepository                 = buildProjectRepository;
            _calculationsRepository                 = calculationsRepository;
        }
Beispiel #2
0
        private void RegisterDIContainer()
        {
            ServiceCollection services = new ServiceCollection();

            services.AddTransient <TestMethodListViewModel>();

            services.AddSingleton <RealTimeInfoViewModel>();
            services.AddSingleton <TestMethodViewModel>();
            services.AddSingleton <TestProjectsViewModel>();
            services.AddSingleton <TestResultViewModel>();
            services.AddSingleton <ConfigurationViewMode>();

            services.AddSingleton <ITestMethodRepository, TestMethodInfoRepository>();
            services.AddSingleton <ITestResultsRepository, TestResultsRepository>();
            services.AddSingleton <IEventAggregator, EventAggregator>();
            services.AddSingleton <IExecutor <TestCaseInfo>, Executor>();
            services.AddSingleton <IConfigurationManager, ConfigClass>();

            services.AddSingleton <IDialogService <object>, DialogService>();

            this.Container = services.BuildServiceProvider();

            IConfigurationManager configurationManager = this.Container.GetService <IConfigurationManager>();
            ITestMethodRepository testMethodRepository = this.Container.GetService <ITestMethodRepository>();

            testMethodRepository.SetConfigurationManager(configurationManager);
            ITestResultsRepository testResultsRepository = this.Container.GetService <ITestResultsRepository>();

            testResultsRepository.SetConfigurationManager(configurationManager);
            IExecutor <TestCaseInfo> executor = this.Container.GetService <IExecutor <TestCaseInfo> >();

            executor.SetConfigurationManager(configurationManager);
        }
Beispiel #3
0
        public async Task SaveTestProviderResults_WhenNoItemsPasssed_ThenNothingSaved()
        {
            // Arrange
            ITestResultsRepository testResultsRepository = CreateTestResultsRepository();
            ISearchRepository <TestScenarioResultIndex> searchRepository = CreateSearchRespository();

            TestResultsService service = CreateTestResultsService(testResultsRepository, searchRepository);

            IEnumerable <TestScenarioResult> updateItems = Enumerable.Empty <TestScenarioResult>();

            IEnumerable <ProviderResult> providerResults = Enumerable.Empty <ProviderResult>();

            // Act
            HttpStatusCode result = await service.SaveTestProviderResults(updateItems, providerResults);

            // Assert
            result.Should().Be(HttpStatusCode.NotModified);

            await testResultsRepository
            .Received(0)
            .SaveTestProviderResults(Arg.Any <IEnumerable <TestScenarioResult> >());

            await searchRepository
            .Received(0)
            .Index(Arg.Any <IEnumerable <TestScenarioResultIndex> >());
        }
Beispiel #4
0
        public async Task SaveTestProviderResults_WhenItemsPasssed_ThenItemsSaved()
        {
            // Arrange
            ITestResultsRepository testResultsRepository = CreateTestResultsRepository();
            ISearchRepository <TestScenarioResultIndex> searchRepository = CreateSearchRespository();

            TestResultsService service = CreateTestResultsService(testResultsRepository, searchRepository);

            List <TestScenarioResult> itemsToUpdate = new List <TestScenarioResult>
            {
                CreateTestScenarioResult()
            };

            testResultsRepository
            .SaveTestProviderResults(Arg.Any <IEnumerable <TestScenarioResult> >())
            .Returns(HttpStatusCode.Created);

            IEnumerable <ProviderResult> providerResults = Enumerable.Empty <ProviderResult>();

            // Act
            HttpStatusCode result = await service.SaveTestProviderResults(itemsToUpdate, providerResults);

            // Assert
            result.Should().Be(HttpStatusCode.Created);

            await testResultsRepository
            .Received(1)
            .SaveTestProviderResults(itemsToUpdate);

            await searchRepository
            .Received(1)
            .Index(Arg.Any <IEnumerable <TestScenarioResultIndex> >());
        }
        public TestResultsService(ITestResultsRepository testResultsRepository,
                                  ISearchRepository <TestScenarioResultIndex> searchRepository,
                                  IMapper mapper,
                                  ILogger logger,
                                  ITelemetry telemetry,
                                  ITestRunnerResiliencePolicies policies,
                                  IProviderService providerService)
        {
            Guard.ArgumentNotNull(searchRepository, nameof(searchRepository));
            Guard.ArgumentNotNull(testResultsRepository, nameof(testResultsRepository));
            Guard.ArgumentNotNull(mapper, nameof(mapper));
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(telemetry, nameof(telemetry));
            Guard.ArgumentNotNull(policies, nameof(policies));
            Guard.ArgumentNotNull(providerService, nameof(providerService));

            _testResultsRepository = testResultsRepository;
            _searchRepository      = searchRepository;
            _mapper                  = mapper;
            _logger                  = logger;
            _telemetry               = telemetry;
            _testResultsPolicy       = policies.TestResultsRepository;
            _testResultsSearchPolicy = policies.TestResultsSearchRepository;
            _providerService         = providerService;
        }
        public TestResultsService(ITestResultsRepository testResultsRepository,
                                  ISearchRepository <TestScenarioResultIndex> searchRepository,
                                  IMapper mapper,
                                  ILogger logger,
                                  ITelemetry telemetry,
                                  ITestRunnerResiliencePolicies policies,
                                  IProvidersApiClient providersApiClient,
                                  IJobManagement jobManagement) : base(jobManagement, logger)
        {
            Guard.ArgumentNotNull(searchRepository, nameof(searchRepository));
            Guard.ArgumentNotNull(testResultsRepository, nameof(testResultsRepository));
            Guard.ArgumentNotNull(mapper, nameof(mapper));
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(telemetry, nameof(telemetry));
            Guard.ArgumentNotNull(policies?.TestResultsRepository, nameof(policies.TestResultsRepository));
            Guard.ArgumentNotNull(policies?.TestResultsSearchRepository, nameof(policies.TestResultsSearchRepository));
            Guard.ArgumentNotNull(providersApiClient, nameof(providersApiClient));

            _testResultsRepository = testResultsRepository;
            _searchRepository      = searchRepository;
            _mapper                  = mapper;
            _logger                  = logger;
            _telemetry               = telemetry;
            _testResultsPolicy       = policies.TestResultsRepository;
            _testResultsSearchPolicy = policies.TestResultsSearchRepository;
            _providersApiClient      = providersApiClient;
        }
Beispiel #7
0
        public async Task SaveTestProviderResults_WhenItemsPasssedAndRepositoryFailed_ThenItemsNotSaved()
        {
            // Arrange
            ITestResultsRepository testResultsRepository = CreateTestResultsRepository();

            testResultsRepository
            .SaveTestProviderResults(Arg.Any <IEnumerable <TestScenarioResult> >())
            .Returns(HttpStatusCode.BadRequest);

            TestResultsService service = CreateTestResultsService(testResultsRepository);

            IEnumerable <ProviderResult> providerResults = Enumerable.Empty <ProviderResult>();

            List <TestScenarioResult> itemsToUpdate = new List <TestScenarioResult>
            {
                CreateTestScenarioResult()
            };

            // Act
            HttpStatusCode result = await service.SaveTestProviderResults(itemsToUpdate, providerResults);

            // Assert
            result.Should().Be(HttpStatusCode.InternalServerError);

            await testResultsRepository
            .Received(1)
            .SaveTestProviderResults(itemsToUpdate);
        }
        public TestMethodListViewModel(
            TestProjectsViewModel testProjectsViewModel,
            ITestResultsRepository testResultsRepository,
            ITestMethodRepository testMethodsRepository,
            IEventAggregator eventAggregator,
            IExecutor <TestCaseInfo> executor,
            IConfigurationManager configClass)
        {
            this.testProjectsViewModel = testProjectsViewModel;
            this.testResultsRepository = testResultsRepository;
            this.testMethodsRepository = testMethodsRepository;
            this.eventAggregator       = eventAggregator;
            this.executor    = executor;
            this.configClass = configClass;

            this.executor.Initialize(RealTimeEvent);

            this.QueryTestMethodsCommand         = new DelegateCommand(OnQueryTestMethods, CanQueryTestMethods);
            this.DeleteTestMethodsCommand        = new DelegateCommand(OnDeleteTestMethods, CanDeleteTestMethods);
            this.DiscoverTestMethodsCommand      = new DelegateCommand <List <string> >(OnDiscoverTestMethods, (x) => this.canDiscoverTestMethods);
            this.SaveTestMethodsCommand          = new DelegateCommand(OnSaveTestMethods, CanSaveTestMethods);
            this.RunTestMethodsCommand           = new DelegateCommand(OnRunTestMethods, CanRunTestMethods);
            this.CancelTestRunCommand            = new DelegateCommand(OnCancelTestRun, CanCancelTestRun);
            this.AddTestMethodsToProjectCommand  = new DelegateCommand <TestProjectInfo>(OnAddTestMethodsToProject, (x) => true);
            this.TestMethodsSelectChangedCommand = new DelegateCommand(OnTestMethodsSelectChanged, () => true);

            this.eventAggregator.GetEvent <TestProjectUpdatedEvent>().Subscribe(TestCaseInfoListShow);
            this.testProjectsViewModel.TestProjectsChanged += TestProjectsViewModel_TestProjectsChanged;
            this.testProjects.Add(this.testRespository);
        }
Beispiel #9
0
        public TestResultsCountsService(ITestResultsSearchService testResultsService, ITestResultsRepository testResultsRepository, ILogger logger)
        {
            Guard.ArgumentNotNull(testResultsService, nameof(testResultsService));
            Guard.ArgumentNotNull(testResultsRepository, nameof(testResultsRepository));
            Guard.ArgumentNotNull(logger, nameof(logger));

            _testResultsService    = testResultsService;
            _testResultsRepository = testResultsRepository;
            _logger = logger;
        }
Beispiel #10
0
 static TestResultsCountsService CreateResultCountsService(
     ITestResultsSearchService testResultsService = null,
     ITestResultsRepository testResultsRepository = null,
     ILogger logger = null)
 {
     return(new TestResultsCountsService(
                testResultsService ?? CreateTestResultsSearchService(),
                testResultsRepository ?? CreateTestResultsRepository(),
                logger ?? CreateLogger()));
 }
        public TestEngineService(
            ICacheProvider cacheProvider,
            ISpecificationsApiClient specificationsApiClient,
            ILogger logger,
            ITestEngine testEngine,
            IScenariosRepository scenariosRepository,
            IProviderSourceDatasetsRepository providerSourceDatasetsRepository,
            ITestResultsService testResultsService,
            ITestResultsRepository testResultsRepository,
            ICalculationsApiClient calcsApiClient,
            ITelemetry telemetry,
            ITestRunnerResiliencePolicies resiliencePolicies,
            ICalculationsRepository calculationsRepository,
            IMapper mapper)
        {
            Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider));
            Guard.ArgumentNotNull(specificationsApiClient, nameof(specificationsApiClient));
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(testEngine, nameof(testEngine));
            Guard.ArgumentNotNull(scenariosRepository, nameof(scenariosRepository));
            Guard.ArgumentNotNull(providerSourceDatasetsRepository, nameof(providerSourceDatasetsRepository));
            Guard.ArgumentNotNull(testResultsService, nameof(testResultsService));
            Guard.ArgumentNotNull(testResultsRepository, nameof(testResultsRepository));
            Guard.ArgumentNotNull(telemetry, nameof(telemetry));
            Guard.ArgumentNotNull(resiliencePolicies?.CacheProviderRepository, nameof(resiliencePolicies.CacheProviderRepository));
            Guard.ArgumentNotNull(resiliencePolicies?.SpecificationsApiClient, nameof(resiliencePolicies.SpecificationsApiClient));
            Guard.ArgumentNotNull(resiliencePolicies?.ScenariosRepository, nameof(resiliencePolicies.ScenariosRepository));
            Guard.ArgumentNotNull(resiliencePolicies?.ProviderSourceDatasetsRepository, nameof(resiliencePolicies.ProviderSourceDatasetsRepository));
            Guard.ArgumentNotNull(resiliencePolicies?.TestResultsRepository, nameof(resiliencePolicies.TestResultsRepository));
            Guard.ArgumentNotNull(resiliencePolicies?.CalculationsApiClient, nameof(resiliencePolicies.CalculationsApiClient));;
            Guard.ArgumentNotNull(resiliencePolicies?.SpecificationsApiClient, nameof(resiliencePolicies.SpecificationsApiClient));
            Guard.ArgumentNotNull(calcsApiClient, nameof(calcsApiClient));
            Guard.ArgumentNotNull(calculationsRepository, nameof(calculationsRepository));
            Guard.ArgumentNotNull(mapper, nameof(mapper));

            _cacheProvider           = cacheProvider;
            _specificationsApiClient = specificationsApiClient;
            _logger              = logger;
            _testEngine          = testEngine;
            _scenariosRepository = scenariosRepository;
            _providerSourceDatasetsRepository = providerSourceDatasetsRepository;
            _testResultsService    = testResultsService;
            _testResultsRepository = testResultsRepository;
            _telemetry             = telemetry;
            _mapper = mapper;

            _cacheProviderPolicy       = resiliencePolicies.CacheProviderRepository;
            _scenariosRepositoryPolicy = resiliencePolicies.ScenariosRepository;
            _providerSourceDatasetsRepositoryPolicy = resiliencePolicies.ProviderSourceDatasetsRepository;
            _testResultsRepositoryPolicy            = resiliencePolicies.TestResultsRepository;
            _calcsApiClientPolicy          = resiliencePolicies.CalculationsApiClient;
            _calcsApiClient                = calcsApiClient;
            _calculationsRepository        = calculationsRepository;
            _specificationsApiClientPolicy = resiliencePolicies.SpecificationsApiClient;
        }
Beispiel #12
0
        public TestResultViewModel(
            ITestResultsRepository testMethodsRepository,
            IEventAggregator eventAggregator)
        {
            this.testResultsRepository = testMethodsRepository;
            this.eventAggregator       = eventAggregator;

            LoadTestResultsCommand = new DelegateCommand(OnLoadTestResults, CanGetTestResults);
            this.eventAggregator.GetEvent <TestMethodSelectedEvent>().Subscribe(SetTestMethodAsync);
            this.eventAggregator.GetEvent <TestProjectSelectedEvent>().Subscribe(SetTestProjectAsync);
        }
        public TestProjectShip(
            IEventAggregator eventAggregator,
            ITestResultsRepository testResultsRepository,
            IExecutor <TestCaseInfo> executor,
            IDialogService <object> dialogService,
            TestProjectInfo testProjectInfo)
        {
            this.TestProjectInfo       = testProjectInfo;
            this.eventAggregator       = eventAggregator;
            this.testResultsRepository = testResultsRepository;
            this.executor      = executor;
            this.dialogService = dialogService;

            this.AddTestMethodsFromAssemblyCommand = new DelegateCommand(OnAddTestMethodsFromAssembly, CanAddTestMethodsFromAssembly);
            this.RunTestProjectCommand             = new DelegateCommand(OnRunTestProject, CanRunTestProject);
            this.CancelTestProjectRunCommand       = new DelegateCommand(OnCancelTestProjectRun, CanCancelTestProjectRun);
        }
Beispiel #14
0
 private TestResultsService CreateTestResultsService(
     ITestResultsRepository testResultsRepository = null,
     ISearchRepository <TestScenarioResultIndex> searchRepository = null,
     IMapper mapper                   = null,
     ILogger logger                   = null,
     ITelemetry telemetry             = null,
     ResiliencePolicies policies      = null,
     IProviderService providerService = null)
 {
     return(new TestResultsService(
                testResultsRepository ?? CreateTestResultsRepository(),
                searchRepository ?? CreateSearchRespository(),
                mapper ?? CreateMapper(),
                logger ?? CreateLogger(),
                telemetry ?? CreateTelemetry(),
                policies ?? TestRunnerResilienceTestHelper.GenerateTestPolicies(),
                providerService ?? CreateProviderService()
                ));
 }
Beispiel #15
0
        public async Task SaveTestProviderResults_WhenItemsPasssed_ThenTelemetryLogged()
        {
            // Arrange
            ITestResultsRepository testResultsRepository = CreateTestResultsRepository();
            ISearchRepository <TestScenarioResultIndex> searchRepository = CreateSearchRespository();
            ITelemetry telemetry = CreateTelemetry();

            ITestResultsService service = CreateTestResultsService(testResultsRepository, searchRepository, telemetry: telemetry);

            IEnumerable <ProviderResult> providerResults = Enumerable.Empty <ProviderResult>();

            List <TestScenarioResult> itemsToUpdate      = new List <TestScenarioResult>();
            TestScenarioResult        testScenarioResult = CreateTestScenarioResult();

            itemsToUpdate.Add(testScenarioResult);

            testResultsRepository
            .SaveTestProviderResults(Arg.Any <IEnumerable <TestScenarioResult> >())
            .Returns(HttpStatusCode.Created);

            // Act
            HttpStatusCode result = await service.SaveTestProviderResults(itemsToUpdate, providerResults);

            // Assert
            result.Should().Be(HttpStatusCode.Created);

            telemetry
            .Received(1)
            .TrackEvent(
                Arg.Is("UpdateTestScenario"),
                Arg.Is <IDictionary <string, string> >(p =>
                                                       p.ContainsKey("SpecificationId") &&
                                                       p["SpecificationId"] == testScenarioResult.Specification.Id
                                                       ),
                Arg.Is <IDictionary <string, double> >(
                    m => m.ContainsKey("update-testscenario-elapsedMilliseconds") &&
                    m.ContainsKey("update-testscenario-recordsUpdated") &&
                    m["update-testscenario-elapsedMilliseconds"] > 0 &&
                    m["update-testscenario-recordsUpdated"] == 1
                    )
                );
        }
Beispiel #16
0
        public async Task DeleteTestResults_Deletes_Dependencies_Using_Correct_SpecificationId_And_DeletionType(string specificationId, DeletionType deletionType)
        {
            string jobId = "job-id";

            Message message = new Message
            {
                UserProperties =
                {
                    new KeyValuePair <string, object>("jobId",            jobId),
                    new KeyValuePair <string, object>("specification-id", specificationId),
                    new KeyValuePair <string, object>("deletion-type",    (int)deletionType)
                }
            };
            ITestResultsRepository testResultsRepository = CreateTestResultsRepository();
            TestResultsService     service = CreateTestResultsService(testResultsRepository: testResultsRepository);

            await service.DeleteTestResults(message);

            await testResultsRepository.Received(1).DeleteTestResultsBySpecificationId(specificationId, deletionType);
        }
Beispiel #17
0
        public async Task CleanupTestResultsForSpecificationProviders_GivenCurrentTestResults_ThenCallsDelete()
        {
            //Arrange
            TestScenarioResult testScenarioResult = CreateTestScenarioResult();

            ITestResultsRepository testResultsRepository = CreateTestResultsRepository();

            testResultsRepository
            .GetCurrentTestResults(Arg.Any <IEnumerable <string> >(), Arg.Is <string>(testScenarioResult.Specification.Id))
            .Returns(new TestScenarioResult[] { testScenarioResult });

            TestResultsService service = CreateTestResultsService(testResultsRepository: testResultsRepository);

            SpecificationProviders specificationProviders = new SpecificationProviders {
                SpecificationId = testScenarioResult.Specification.Id, Providers = new string[] { testScenarioResult.Provider.Id }
            };

            Dictionary <string, string> properties = new Dictionary <string, string>
            {
                { "specificationId", testScenarioResult.Specification.Id },
                { "sfa-correlationId", Guid.NewGuid().ToString() }
            };

            Message message = new Message {
                Body = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(specificationProviders))
            };

            message.UserProperties["specificationId"] = testScenarioResult.Specification.Id;

            //Act
            await service.CleanupTestResultsForSpecificationProviders(message);

            //Assert
            await testResultsRepository
            .Received(1)
            .DeleteCurrentTestScenarioTestResults(Arg.Is <IEnumerable <TestScenarioResult> >(x => x.First().Provider.Id == testScenarioResult.Provider.Id));
        }
        //public event EventHandler CloseTestProject;

        public TestProjectsViewModel(
            IEventAggregator eventAggregator,
            ITestResultsRepository testResultsRepository,
            IDialogService <object> dialogService,
            IExecutor <TestCaseInfo> executor,
            IConfigurationManager configClass)
        {
            this.eventAggregator       = eventAggregator;
            this.testResultsRepository = testResultsRepository;
            this.dialogService         = dialogService;
            this.executor    = executor;
            this.configClass = configClass;

            this.LoadTestProjectsCommand         = new DelegateCommand <string>(OnLoadTestProjects, CanLoadTestProjects);
            this.SaveTestProjectsCommand         = new DelegateCommand(OnSaveTestProjects, CanSaveTestProjects);
            this.AddTestProjectCommand           = new DelegateCommand(OnAddTestProject, CanAddTestProject);
            this.DeleteTestProjectCommand        = new DelegateCommand <TestProjectInfo>(OnDeleteTestProject, (x) => true);
            this.CloseTestProjectCommand         = new DelegateCommand <TestProjectInfo>(OnCloseTestProject, (x) => true);
            this.RenameTestProjectCommand        = new DelegateCommand <string[]>(OnRenameTestProject, (x) => true);
            this.TestProjectConfigurationCommand = new DelegateCommand <string>(OnTestProjectConfiguration, (x) => true);

            this.eventAggregator.GetEvent <AddTestMethodsToProjectSelectedEvent>().Subscribe(AddTestMethodsToCurrentProject);
            this.testProjectShips.CollectionChanged += TestProjectShips_CollectionChanged;
        }
Beispiel #19
0
        public async Task SaveTestProviderResults_WhenItemsPasssed_ThenSearchResultsMapped()
        {
            // Arrange
            ITestResultsRepository testResultsRepository = CreateTestResultsRepository();
            ISearchRepository <TestScenarioResultIndex> searchRepository = CreateSearchRespository();

            TestResultsService service = CreateTestResultsService(testResultsRepository, searchRepository);

            IEnumerable <ProviderResult> providerResults = new[]
            {
                new ProviderResult
                {
                    Provider = new ProviderSummary
                    {
                        UKPRN = "111",
                        UPIN  = "222",
                        URN   = "333",
                        EstablishmentNumber = "123",
                        DateOpened          = DateTimeOffset.Now,
                        Authority           = "authority",
                        ProviderSubType     = "provider sub type",
                        ProviderType        = "provider type",
                        Id = "ProviderId"
                    }
                }
            };

            List <TestScenarioResult> itemsToUpdate      = new List <TestScenarioResult>();
            TestScenarioResult        testScenarioResult = CreateTestScenarioResult();

            itemsToUpdate.Add(testScenarioResult);

            testResultsRepository
            .SaveTestProviderResults(Arg.Any <IEnumerable <TestScenarioResult> >())
            .Returns(HttpStatusCode.Created);

            // Act
            HttpStatusCode result = await service.SaveTestProviderResults(itemsToUpdate, providerResults);

            // Assert
            result.Should().Be(HttpStatusCode.Created);

            await testResultsRepository
            .Received(1)
            .SaveTestProviderResults(itemsToUpdate);

            await searchRepository
            .Received(1)
            .Index(Arg.Is <IEnumerable <TestScenarioResultIndex> >(c =>
                                                                   c.First().Id == testScenarioResult.Id &&
                                                                   c.First().ProviderId == testScenarioResult.Provider.Id &&
                                                                   c.First().ProviderName == testScenarioResult.Provider.Name &&
                                                                   c.First().SpecificationId == testScenarioResult.Specification.Id &&
                                                                   c.First().SpecificationName == testScenarioResult.Specification.Name &&
                                                                   c.First().TestResult == Enum.GetName(typeof(Models.Results.TestResult), testScenarioResult.TestResult) &&
                                                                   c.First().TestScenarioId == testScenarioResult.TestScenario.Id &&
                                                                   c.First().TestScenarioName == testScenarioResult.TestScenario.Name &&
                                                                   c.First().LastUpdatedDate > DateTimeOffset.Now.AddDays(-1) &&
                                                                   c.First().EstablishmentNumber == "123" &&
                                                                   c.First().UKPRN == "111" &&
                                                                   c.First().UPIN == "222" &&
                                                                   c.First().URN == "333" &&
                                                                   c.First().LocalAuthority == "authority" &&
                                                                   c.First().ProviderType == "provider type" &&
                                                                   c.First().ProviderSubType == "provider sub type" &&
                                                                   c.First().OpenDate.HasValue
                                                                   ));
        }
Beispiel #20
0
 public StudentTestController(ITestFacade testFacade, ITestParametersRepository testParamRepo, ITestResultsRepository testResultsRepo)
 {
     this.testFacade      = testFacade;
     this.testParamRepo   = testParamRepo;
     this.testResultsRepo = testResultsRepo;
 }