示例#1
0
        public void ShouldFindAModification()
        {
            // Arrange
            var mockMaintainer = new Mock <IMaintainProviderIndex>();
            var sut            = new ProviderIndexer(null, mockMaintainer.Object, null, null, new Mock <ILog>().Object);

            mockMaintainer.Setup(x => x.LoadRoatpProvidersFromAlias()).Returns(new List <RoatpProviderDocument>
            {
                new RoatpProviderDocument {
                    Ukprn = "12345678"
                }
            });
            mockMaintainer.Setup(x => x.LoadRoatpProvidersFromIndex(It.IsAny <string>())).Returns(new List <RoatpProviderDocument>
            {
                new RoatpProviderDocument {
                    Ukprn = "12345678", EndDate = DateTime.Now
                }
            });

            // Act
            var modifications = sut.IdentifyModifications(It.IsAny <string>()).ToList();

            // Assert
            Assert.AreEqual(1, modifications.Count);
            mockMaintainer.VerifyAll();
        }
示例#2
0
        public void ShouldFindANewProviderWithOneExistingProvider()
        {
            // Arrange
            var ukprn = "12345679";

            var mockMaintainer = new Mock <IMaintainProviderIndex>();
            var sut            = new ProviderIndexer(null, mockMaintainer.Object, null, null, new Mock <ILog>().Object);

            mockMaintainer.Setup(x => x.LoadRoatpProvidersFromAlias()).Returns(new List <RoatpProviderDocument>
            {
                new RoatpProviderDocument {
                    Ukprn = "12345678"
                }
            });
            mockMaintainer.Setup(x => x.LoadRoatpProvidersFromIndex(It.IsAny <string>())).Returns(new List <RoatpProviderDocument>
            {
                new RoatpProviderDocument {
                    Ukprn = "12345678"
                },
                new RoatpProviderDocument {
                    Ukprn = ukprn
                }
            });

            // Act
            var creations = sut.IdentifyCreations(It.IsAny <string>()).ToList();

            // Assert
            Assert.AreEqual(1, creations.Count());
            Assert.AreEqual(ukprn, creations.First().Ukprn);
            mockMaintainer.VerifyAll();
        }
示例#3
0
        public void ShouldFindModificationsForProvidersWithRepeatedUkprn()
        {
            // Arrange
            var mockMaintainer = new Mock <IMaintainProviderIndex>();
            var sut            = new ProviderIndexer(null, mockMaintainer.Object, null, null, new Mock <ILog>().Object);

            mockMaintainer.Setup(x => x.LoadRoatpProvidersFromAlias()).Returns(new List <RoatpProviderDocument>
            {
                new RoatpProviderDocument {
                    Ukprn = "12345678", ProviderType = ProviderType.MainProvider, StartDate = DateTime.Today
                },
                new RoatpProviderDocument {
                    Ukprn = "12345678", ProviderType = ProviderType.SupportingProvider, StartDate = DateTime.Today.AddDays(-5), EndDate = DateTime.Today.AddDays(-1)
                }
            });
            mockMaintainer.Setup(x => x.LoadRoatpProvidersFromIndex(It.IsAny <string>())).Returns(new List <RoatpProviderDocument>
            {
                new RoatpProviderDocument {
                    Ukprn = "12345678", ProviderType = ProviderType.SupportingProvider, StartDate = DateTime.Today.AddDays(-5), EndDate = DateTime.Today.AddDays(-2)
                }
            });

            // Act
            var modifications = sut.IdentifyModifications(It.IsAny <string>()).ToList();

            // Assert
            Assert.AreEqual(1, modifications.Count);
            mockMaintainer.VerifyAll();
        }
示例#4
0
        public void ShouldntFindAModificationIfItsJustAnAddition()
        {
            // Arrange
            var ukprn = "12345679";

            var mockMaintainer = new Mock <IMaintainProviderIndex>();
            var sut            = new ProviderIndexer(null, mockMaintainer.Object, null, null, new Mock <ILog>().Object);

            mockMaintainer.Setup(x => x.LoadRoatpProvidersFromAlias()).Returns(new List <RoatpProviderDocument>
            {
                new RoatpProviderDocument {
                    Ukprn = "12345678"
                }
            });
            mockMaintainer.Setup(x => x.LoadRoatpProvidersFromIndex(It.IsAny <string>())).Returns(new List <RoatpProviderDocument>
            {
                new RoatpProviderDocument {
                    Ukprn = "12345678"
                },
                new RoatpProviderDocument {
                    Ukprn = ukprn
                }
            });

            // Act
            var result = sut.IdentifyModifications(It.IsAny <string>()).ToList();

            // Assert
            Assert.AreEqual(0, result.Count);
            mockMaintainer.VerifyAll();
        }
        public void Setup()
        {
            _mockSettings        = new Mock <IIndexSettings <IMaintainProviderIndex> >();
            _mockIndexMaintainer = new Mock <IMaintainProviderIndex>();
            _mockCourseDirectoryProviderMapper = new Mock <ICourseDirectoryProviderMapper>();
            _mockUkrlpProviderMapper           = new Mock <IUkrlpProviderMapper>();

            _sut = new ProviderIndexer(
                _mockSettings.Object,
                _mockCourseDirectoryProviderMapper.Object,
                _mockUkrlpProviderMapper.Object,
                _mockIndexMaintainer.Object,
                Mock.Of <IProviderDataService>(),
                Mock.Of <ILog>());
        }
示例#6
0
        public void TestSetup()
        {
            _settings              = new Mock <IIndexSettings <IMaintainProviderIndex> >();
            _indexMaintainer       = new Mock <IMaintainProviderIndex>();
            _providerDataService   = new Mock <IGetRoatpProviders>();
            _providerEventConsumer = new Mock <IConsumeProviderEvents>();
            _log = new Mock <ILog>();

            _sut = new ProviderIndexer(_settings.Object, _indexMaintainer.Object, _providerDataService.Object, _providerEventConsumer.Object, _log.Object);

            // Arrange
            _indexMaintainer.Setup(m => m.LoadRoatpProvidersFromIndex(It.IsAny <string>())).Returns(LoadNewRoatpProvidersFromIndex);
            _indexMaintainer.Setup(m => m.LoadRoatpProvidersFromAlias()).Returns(LoadoldRoatpProvidersFromIndex);

            // Act
            _newProviderStats = _sut.SendEvents(It.IsAny <string>());
        }