/// <summary> /// Initializes a new instance of the <see cref="ActionManagerBusinessService"/> class. /// </summary> /// <param name="actionManagerDataService"> reference to the ActionManagerDataService</param> /// <param name="loggingHelper">reference to the loggingHelper class</param> public ActionManagerBusinessService(IActionManagerDataService actionManagerDataService, ILoggingHelper loggingHelper) { // store injected dependancies. this.actionManagerDataService = actionManagerDataService; this.loggingHelper = loggingHelper; }
/// <summary> /// Tests setup for methods and data /// </summary> protected override void OnSetup() { mockLoggingHelper = CreateMock <ILoggingHelper>(); // Data Setup userUnitInfoDataDTOList = new List <UserUnitInfoDataDTO>() { new UserUnitInfoDataDTO() { UserName = "******", LocationId = new Guid("FFD741D9-5BBE-4D7F-9C3B-79D3588DC98A") }, new UserUnitInfoDataDTO() { UserName = "******", LocationId = new Guid("FFD741D9-5BBE-4D7F-9C3B-79D3588DC98A") } }; List <AccessFunction> accessFunctionList = new List <AccessFunction>() { new AccessFunction() { RoleName = "manager", LocationID = new Guid("FFD741D9-5BBE-4D7F-9C3B-79D3588DC98A"), UserName = "******", FunctionName = "PrintMap", ActionName = "Print", UserId = new Guid("5B9C7207-3D20-E711-9F8C-28D244AEF9ED"), }, new AccessFunction() { RoleName = "collection hub", LocationID = new Guid("FFD741D9-5BBE-4D7F-9C3B-79D3588DC98A"), UserName = "******", FunctionName = "accesslink", ActionName = "create", UserId = new Guid("5B9C7207-3D20-E711-9F8C-28D244AEF9ED"), }, new AccessFunction() { RoleName = "delivery unit", LocationID = new Guid("FFD741D9-5BBE-4D7F-9C3B-79D3588DC98A"), UserName = "******", FunctionName = "delivery point", ActionName = "create", UserId = new Guid("6B9C7207-3D20-E711-9F8C-28D244AEF9ED"), } }; UserRoleLocation userRoleLocation = new UserRoleLocation() { LocationID = new Guid("FFD741D9-5BBE-4D7F-9C3B-79D3588DC98A"), UserID = new Guid("5B9C7207-3D20-E711-9F8C-28D244AEF9ED") }; User user = new User() { ID = new Guid("5B9C7207-3D20-E711-9F8C-28D244AEF9ED"), UserName = "******" }; LocationReferenceData locationReferenceData = new LocationReferenceData() { ReferenceDataID = new Guid("AFD741D9-5BBE-4D7F-9C3B-79D3588DC98A"), LocationID = new Guid("FFD741D9-5BBE-4D7F-9C3B-79D3588DC98A") }; ReferenceData referenceData = new ReferenceData() { ID = new Guid("AFD741D9-5BBE-4D7F-9C3B-79D3588DC98A"), ReferenceDataValue = "Type1" }; PostalAddressIdentifier postalAddressIdentifier = new PostalAddressIdentifier() { ID = new Guid("FFD741D9-5BBE-4D7F-9C3B-79D3588DC98A"), IdentifierTypeGUID = new Guid("AFD741D9-5BBE-4D7F-9C3B-79D3588DC98A"), Name = "Unit1" }; //Setup for UserRoleLocation mockRMDBContext = CreateMock <ActionDBContext>(); var mockAsynEnumerable1 = new DbAsyncEnumerable <UserRoleLocation>(new List <UserRoleLocation>() { userRoleLocation }); var mockUserRoleLocation = MockDbSet(new List <UserRoleLocation>() { userRoleLocation }); mockUserRoleLocation.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable1.AsQueryable().Provider); mockUserRoleLocation.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable1.AsQueryable().Expression); mockUserRoleLocation.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable1.AsQueryable().ElementType); mockUserRoleLocation.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <UserRoleLocation>)mockAsynEnumerable1).GetAsyncEnumerator()); mockUserRoleLocation.Setup(x => x.AsNoTracking()).Returns(mockUserRoleLocation.Object); mockRMDBContext.Setup(x => x.Set <UserRoleLocation>()).Returns(mockUserRoleLocation.Object); mockRMDBContext.Setup(x => x.UserRoleLocations).Returns(mockUserRoleLocation.Object); mockUserRoleLocation.Setup(x => x.Include(It.IsAny <string>())).Returns(mockUserRoleLocation.Object); //Setup for User var mockAsynEnumerable2 = new DbAsyncEnumerable <User>(new List <User>() { user }); var mockUser = MockDbSet(new List <User>() { user }); mockUser.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable2.AsQueryable().Provider); mockUser.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable2.AsQueryable().Expression); mockUser.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable2.AsQueryable().ElementType); mockUser.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <User>)mockAsynEnumerable2).GetAsyncEnumerator()); mockRMDBContext.Setup(x => x.Set <User>()).Returns(mockUser.Object); mockRMDBContext.Setup(x => x.Users).Returns(mockUser.Object); mockUser.Setup(x => x.Include(It.IsAny <string>())).Returns(mockUser.Object); //Setup for LocationReferenceData var mockAsynEnumerable3 = new DbAsyncEnumerable <LocationReferenceData>(new List <LocationReferenceData>() { locationReferenceData }); var mockLocationReferenceData = MockDbSet(new List <LocationReferenceData>() { locationReferenceData }); mockLocationReferenceData.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable3.AsQueryable().Provider); mockLocationReferenceData.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable3.AsQueryable().Expression); mockLocationReferenceData.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable3.AsQueryable().ElementType); mockLocationReferenceData.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <LocationReferenceData>)mockAsynEnumerable3).GetAsyncEnumerator()); mockRMDBContext.Setup(x => x.Set <LocationReferenceData>()).Returns(mockLocationReferenceData.Object); mockRMDBContext.Setup(x => x.LocationReferenceDatas).Returns(mockLocationReferenceData.Object); mockLocationReferenceData.Setup(x => x.Include(It.IsAny <string>())).Returns(mockLocationReferenceData.Object); //Setup for LocationReferenceData var mockAsynEnumerable4 = new DbAsyncEnumerable <ReferenceData>(new List <ReferenceData>() { referenceData }); var mockReferenceData = MockDbSet(new List <ReferenceData>() { referenceData }); mockReferenceData.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable4.AsQueryable().Provider); mockReferenceData.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable4.AsQueryable().Expression); mockReferenceData.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable4.AsQueryable().ElementType); mockReferenceData.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <ReferenceData>)mockAsynEnumerable4).GetAsyncEnumerator()); mockRMDBContext.Setup(x => x.Set <ReferenceData>()).Returns(mockReferenceData.Object); mockRMDBContext.Setup(x => x.ReferenceDatas).Returns(mockReferenceData.Object); mockReferenceData.Setup(x => x.Include(It.IsAny <string>())).Returns(mockReferenceData.Object); //Setup for PostalAddressIdentifier var mockAsynEnumerable5 = new DbAsyncEnumerable <PostalAddressIdentifier>(new List <PostalAddressIdentifier>() { postalAddressIdentifier }); var mockPostalAddressIdentifier = MockDbSet(new List <PostalAddressIdentifier>() { postalAddressIdentifier }); mockPostalAddressIdentifier.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable5.AsQueryable().Provider); mockPostalAddressIdentifier.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable5.AsQueryable().Expression); mockPostalAddressIdentifier.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable5.AsQueryable().ElementType); mockPostalAddressIdentifier.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <PostalAddressIdentifier>)mockAsynEnumerable5).GetAsyncEnumerator()); mockRMDBContext.Setup(x => x.Set <PostalAddressIdentifier>()).Returns(mockPostalAddressIdentifier.Object); mockRMDBContext.Setup(x => x.PostalAddressIdentifiers).Returns(mockPostalAddressIdentifier.Object); mockPostalAddressIdentifier.Setup(x => x.Include(It.IsAny <string>())).Returns(mockPostalAddressIdentifier.Object); //Setup for AccessFunction var mockAsynEnumerable6 = new DbAsyncEnumerable <AccessFunction>(accessFunctionList); var mockAccessFunction = MockDbSet(accessFunctionList); mockAccessFunction.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable6.AsQueryable().Provider); mockAccessFunction.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable6.AsQueryable().Expression); mockAccessFunction.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable6.AsQueryable().ElementType); mockAccessFunction.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <AccessFunction>)mockAsynEnumerable6).GetAsyncEnumerator()); mockAccessFunction.Setup(x => x.AsNoTracking()).Returns(mockAccessFunction.Object); mockRMDBContext.Setup(x => x.Set <AccessFunction>()).Returns(mockAccessFunction.Object); mockRMDBContext.Setup(x => x.AccessFunctions).Returns(mockAccessFunction.Object); mockAccessFunction.Setup(x => x.Include(It.IsAny <string>())).Returns(mockAccessFunction.Object); //Setup for Logging var rmTraceManagerMock = new Mock <IRMTraceManager>(); rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>())); mockLoggingHelper.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object); mockDatabaseFactory = CreateMock <IDatabaseFactory <ActionDBContext> >(); mockDatabaseFactory.Setup(x => x.Get()).Returns(mockRMDBContext.Object); testCandidate = new ActionManagerDataService(mockDatabaseFactory.Object, mockLoggingHelper.Object); }