/// <summary>
        /// Setup for Nunit Tests
        /// </summary>
        protected override void OnSetup()
        {
            // Data Setup
            List <PostcodeHierarchy> postcodeHierarchyList = new List <PostcodeHierarchy>()
            {
                new PostcodeHierarchy()
                {
                    PostcodeTypeGUID = postcodeTypeGUID,
                    ParentPostcode   = "111",
                    Postcode         = "123"
                }
            };

            List <PostalAddress> postalAddressList = new List <PostalAddress>()
            {
                new PostalAddress()
                {
                    UDPRN    = 123,
                    Postcode = "123"
                }
            };

            mockUnitManagerDbContext = CreateMock <UnitManagerDbContext>();
            mockILoggingHelper       = CreateMock <ILoggingHelper>();

            // Setup for PostcodeHierarchy
            var mockAsynEnumerable1   = new DbAsyncEnumerable <PostcodeHierarchy>(postcodeHierarchyList);
            var mockPostcodeHierarchy = MockDbSet(postcodeHierarchyList);

            mockPostcodeHierarchy.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable1.AsQueryable().Provider);
            mockPostcodeHierarchy.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable1.AsQueryable().Expression);
            mockPostcodeHierarchy.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable1.AsQueryable().ElementType);
            mockPostcodeHierarchy.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <PostcodeHierarchy>)mockAsynEnumerable1).GetAsyncEnumerator());
            mockUnitManagerDbContext.Setup(x => x.Set <PostcodeHierarchy>()).Returns(mockPostcodeHierarchy.Object);
            mockUnitManagerDbContext.Setup(x => x.PostcodeHierarchies).Returns(mockPostcodeHierarchy.Object);
            mockUnitManagerDbContext.Setup(c => c.PostcodeHierarchies.AsNoTracking()).Returns(mockPostcodeHierarchy.Object);

            // Setup for PostalAddress
            var mockAsynEnumerable2 = new DbAsyncEnumerable <PostalAddress>(postalAddressList);
            var mockPostalAddress   = MockDbSet(postalAddressList);

            mockPostalAddress.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable2.AsQueryable().Provider);
            mockPostalAddress.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable2.AsQueryable().Expression);
            mockPostalAddress.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable2.AsQueryable().ElementType);
            mockPostalAddress.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <PostalAddress>)mockAsynEnumerable2).GetAsyncEnumerator());
            mockUnitManagerDbContext.Setup(x => x.Set <PostalAddress>()).Returns(mockPostalAddress.Object);
            mockUnitManagerDbContext.Setup(x => x.PostalAddresses).Returns(mockPostalAddress.Object);

            var rmTraceManagerMock = new Mock <IRMTraceManager>();

            rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>()));
            mockILoggingHelper.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object);

            mockDatabaseFactory = CreateMock <IDatabaseFactory <UnitManagerDbContext> >();
            mockDatabaseFactory.Setup(x => x.Get()).Returns(mockUnitManagerDbContext.Object);
            testCandidate = new PostcodeSectorDataService(mockDatabaseFactory.Object, mockILoggingHelper.Object);
        }
示例#2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UnitLocationBusinessService"/> class.
 /// </summary>
 /// <param name="unitLocationDataService"> The unit location respository</param>
 /// <param name="postcodeSectorDataService">post code sector data service</param>
 /// <param name="postCodeDataService">post code data service</param>
 /// <param name="scenarioDataService">scenario data service</param>
 public UnitLocationBusinessService(IUnitLocationDataService unitLocationDataService, IPostcodeSectorDataService postcodeSectorDataService, IPostcodeDataService postCodeDataService, IScenarioDataService scenarioDataService, IPostalAddressDataService postalAddressDataService, ILoggingHelper loggingHelper, IUnitManagerIntegrationService unitManagerIntegrationService)
 {
     // Store injected dependencies
     this.unitLocationDataService       = unitLocationDataService;
     this.postcodeSectorDataService     = postcodeSectorDataService;
     this.postCodeDataService           = postCodeDataService;
     this.scenarioDataService           = scenarioDataService;
     this.loggingHelper                 = loggingHelper;
     this.unitManagerIntegrationService = unitManagerIntegrationService;
     this.postalAddressDataService      = postalAddressDataService;
 }