Exemple #1
0
        public async Task Then_Only_The_Items_In_The_Allowed_Place_Name_Descriptions_Are_Added(
            List <LocationApiItem> apiResponse,
            LocationApiItem apiFeature,
            LocationApiItem apiFeature1,
            [Frozen] Mock <INationalStatisticsLocationService> service,
            [Frozen] Mock <ILocationImportRepository> importRepository,
            LocationImportService importService)
        {
            apiResponse = SetValidPlaceNameDescription(apiResponse);

            apiFeature.Attributes.PlaceNameDescription  = "test";
            apiFeature1.Attributes.PlaceNameDescription = "";

            apiResponse.Add(apiFeature);
            apiResponse.Add(apiFeature1);
            service.Setup(x => x.GetLocations()).ReturnsAsync(apiResponse);

            await importService.Import();

            importRepository.Verify(x => x.DeleteAll(), Times.Once);
            importRepository.Verify(
                x => x.InsertMany(
                    It.Is <List <Domain.Entities.LocationImport> >(
                        c => c.Count.Equals(apiResponse.Count - 2))), Times.Once);
        }
Exemple #2
0
        public async Task Then_If_There_Are_Multiple_Matches_Then_Takes_Matching_LocationAuthorityDistrict_Matching_PlaceName(
            string expectedName,
            int locationId,
            List <LocationApiItem> apiResponse,
            LocationApiItem apiFeature,
            LocationApiItem apiFeature1,
            [Frozen] Mock <INationalStatisticsLocationService> service,
            [Frozen] Mock <ILocationImportRepository> importRepository,
            LocationImportService importService
            )
        {
            expectedName              = "z" + expectedName;
            apiFeature.Attributes.Id  = locationId;
            apiFeature1.Attributes.Id = locationId;
            apiFeature.Attributes.LocalAuthorityDistrictDescription  = "MD";
            apiFeature1.Attributes.LocalAuthorityDistrictDescription = "MD";
            apiFeature.Attributes.PlaceNameDescription       = "BUA";
            apiFeature1.Attributes.PlaceNameDescription      = "BUA";
            apiFeature.Attributes.LocationName               = expectedName;
            apiFeature1.Attributes.LocationName              = "Not valid";
            apiFeature.Attributes.LocationAuthorityDistrict  = expectedName;
            apiFeature1.Attributes.LocationAuthorityDistrict = "a Not Valid";


            apiResponse.Add(apiFeature1);
            apiResponse.Add(apiFeature);
            service.Setup(x => x.GetLocations()).ReturnsAsync(apiResponse);

            await importService.Import();

            importRepository.Verify(
                x => x.InsertMany(
                    It.Is <List <Domain.Entities.LocationImport> >(
                        c => c.TrueForAll(a => a.LocationName.Equals(expectedName)))), Times.Once);
        }
Exemple #3
0
        public async Task Then_The_Location_Items_Are_Retrieved_From_The_Api(
            [Frozen] Mock <INationalStatisticsLocationService> service,
            LocationImportService importService)
        {
            await importService.Import();

            service.Verify(x => x.GetLocations(), Times.Once);
        }
Exemple #4
0
        public async Task Then_If_No_Locations_Are_Returned_From_The_Api_Nothing_Is_Imported(
            [Frozen] Mock <INationalStatisticsLocationService> service,
            [Frozen] Mock <ILocationImportRepository> importRepository,
            [Frozen] Mock <ILocationRepository> repository,
            LocationImportService importService)
        {
            service.Setup(x => x.GetLocations()).ReturnsAsync(new List <LocationApiItem>());

            await importService.Import();

            importRepository.Verify(x => x.DeleteAll(), Times.Never);
            repository.Verify(x => x.DeleteAll(), Times.Never);
        }
Exemple #5
0
        public async Task Then_An_Audit_Record_Is_Created(
            List <LocationApiItem> apiResponse,
            List <Domain.Entities.LocationImport> importItems,
            [Frozen] Mock <INationalStatisticsLocationService> service,
            [Frozen] Mock <ILocationImportRepository> importRepository,
            [Frozen] Mock <ILocationRepository> repository,
            [Frozen] Mock <IImportAuditRepository> auditRepository,
            LocationImportService importService)
        {
            apiResponse = SetValidPlaceNameDescription(apiResponse);
            service.Setup(x => x.GetLocations()).ReturnsAsync(apiResponse);
            importRepository.Setup(x => x.GetAll()).ReturnsAsync(importItems);

            await importService.Import();

            auditRepository.Verify(x => x.Insert(It.Is <ImportAudit>(c => c.RowsImported.Equals(importItems.Count))));
        }
        public async Task Then_If_No_Locations_Are_Returned_From_The_Api_Nothing_Is_Imported(
            ImportAudit auditRecord,
            [Frozen] Mock <IImportAuditRepository> importAuditRepository,
            [Frozen] Mock <INationalStatisticsLocationService> service,
            [Frozen] Mock <ILocationImportRepository> importRepository,
            [Frozen] Mock <ILocationRepository> repository,
            LocationImportService importService)
        {
            auditRecord.Name = null;
            importAuditRepository.Setup(x => x.GetLastImportByType(ImportType.OnsLocation)).ReturnsAsync(auditRecord);
            service.Setup(x => x.GetLocations()).ReturnsAsync(new List <LocationApiItem>());

            await importService.Import();

            importRepository.Verify(x => x.DeleteAll(), Times.Never);
            repository.Verify(x => x.DeleteAll(), Times.Never);
        }
Exemple #7
0
        public async Task Then_The_Items_Are_Deleted_From_The_ImportRepository_And_Distinct_Location_Items_From_The_Api_Are_Added_To_The_Import_Repository(
            List <LocationApiItem> apiResponse,
            LocationApiItem apiFeature,
            [Frozen] Mock <INationalStatisticsLocationService> service,
            [Frozen] Mock <ILocationImportRepository> importRepository,
            LocationImportService importService)
        {
            apiResponse.Add(apiFeature);
            apiResponse.Add(apiFeature);
            apiResponse = SetValidPlaceNameDescription(apiResponse);
            service.Setup(x => x.GetLocations()).ReturnsAsync(apiResponse);

            await importService.Import();

            importRepository.Verify(x => x.DeleteAll(), Times.Once);
            importRepository.Verify(
                x => x.InsertMany(
                    It.Is <List <Domain.Entities.LocationImport> >(
                        c => c.Count.Equals(apiResponse.Count - 1))), Times.Once);
        }
        public async Task Then_If_The_Last_Imported_File_Is_The_Same_Then_No_Records_Imported(
            string name,
            ImportAudit auditRecord,
            [Frozen] Mock <IImportAuditRepository> importAuditRepository,
            [Frozen] Mock <INationalStatisticsLocationService> service,
            [Frozen] Mock <ILocationImportRepository> importRepository,
            [Frozen] Mock <ILocationRepository> repository,
            LocationImportService importService)
        {
            //Arrange
            auditRecord.Name = name;
            importAuditRepository.Setup(x => x.GetLastImportByType(ImportType.OnsLocation)).ReturnsAsync(auditRecord);
            service.Setup(x => x.GetName()).Returns(name);

            //Act
            await importService.Import();

            //Assert
            importRepository.Verify(x => x.DeleteAll(), Times.Never);
            repository.Verify(x => x.DeleteAll(), Times.Never);
        }