Пример #1
0
            public void CallingMethod_HitsTheSaveHeaderMethodOnce()
            {
                // arrange
                bool fakeActive = true;
                UserSelectedContext fakeCustomer = new UserSelectedContext();
                int         fakeId   = 1;
                string      fakeName = "fake name";
                UserProfile fakeUser = new UserProfile();

                MockDependents   mockDependents = new MockDependents();
                ICustomListLogic logic          = MakeMockLogic(mockDependents);

                // expect
                int expected = 1;

                // act
                long results = logic.CreateOrUpdateList(fakeUser, fakeCustomer, fakeId, fakeName, fakeActive);

                // assert
                mockDependents.MockHeaderRepo
                .Verify(h => h.SaveCustomListHeader(It.IsAny <CustomListHeader>()), Times.Once);
            }
Пример #2
0
            public void GoodCustomerIdAndBranchHeaderOnlyFalse_ReturnsExpectedNumberOfItems()
            {
                // arrange
                MockDependents      mockDependants = new MockDependents();
                IRemindersListLogic testunit       = MakeTestsLogic(true, ref mockDependants);
                UserSelectedContext testcontext    = new UserSelectedContext {
                    BranchId   = "FUT",
                    CustomerId = "123456"
                };
                UserProfile fakeUser   = new UserProfile();
                int         expected   = 1;
                bool        headerOnly = false;

                // act
                ListModel results = testunit.ReadList(fakeUser, testcontext, headerOnly);

                // assert
                results.Items
                .Count
                .Should()
                .Be(expected);
            }
Пример #3
0
            public void BadHeaderId_ReturnsNull()
            {
                // arrange
                int headerId = 157;
                UserSelectedContext customer = new UserSelectedContext {
                    BranchId   = "FUT",
                    CustomerId = "123456"
                };
                UserProfile user = new UserProfile {
                    UserId = new Guid("9615ef5f-fa2a-4497-a59f-69f34cbe6921")
                };

                MockDependents   mockDependents = new MockDependents();
                ICustomListLogic logic          = MakeMockLogic(mockDependents);

                // act
                ListModel results = logic.GetListModel(user, customer, headerId);

                // assert
                results.Should()
                .BeNull();
            }
Пример #4
0
            public void CallingMethod_HitsTheSaveHeaderMethodOnce()
            {
                // arrange
                UserSelectedContext fakeCustomer = new UserSelectedContext();
                ListModel           fakeList     = new ListModel {
                    ListId = 1,
                    Name   = "Fake Name"
                };
                UserProfile fakeUser = new UserProfile();

                MockDependents   mockDependents = new MockDependents();
                ICustomListLogic logic          = MakeMockLogic(mockDependents);

                // expect
                int expected = 1;

                // act
                logic.DeleteList(fakeUser, fakeCustomer, fakeList);

                // assert
                mockDependents.MockHeaderRepo.Verify(h => h.SaveCustomListHeader(It.IsAny <CustomListHeader>()), Times.Once);
            }
Пример #5
0
            public void NewHeader_ReturnsTheNextAvailableHeaderId()
            {
                // arrange
                bool fakeActive = true;
                UserSelectedContext fakeCustomer = new UserSelectedContext();
                int         fakeId   = 0;
                string      fakeName = "fake name";
                UserProfile fakeUser = new UserProfile();

                MockDependents   mockDependents = new MockDependents();
                ICustomListLogic logic          = MakeMockLogic(mockDependents);

                // expect
                int expected = 1;

                // act
                long results = logic.CreateOrUpdateList(fakeUser, fakeCustomer, fakeId, fakeName, fakeActive);

                // assert
                results.Should()
                .Be(expected);
            }
Пример #6
0
            public void GoodCustomerIdAndBranch_ReturnsListWithInListItemsAndInHistoryTrue()
            {
                // arrange
                IHistoryListLogic   testunit    = MakeTestsObject();
                UserSelectedContext testcontext = new UserSelectedContext {
                    BranchId   = "FUT",
                    CustomerId = "123456"
                };
                List <string> InList = new List <string> {
                    "123456"
                };
                bool expected = true;

                // act
                List <InHistoryReturnModel> results = testunit.ItemsInHistoryList(testcontext, InList);

                // assert
                results.First()
                .InHistory
                .Should()
                .Be(expected);
            }
Пример #7
0
            public void CallWith2ListsInCollection_CallsCacheRepositoryRemoveItem10Times()
            {
                // arrange
                var             mockDependents = new MockDependents();
                ICacheListLogic testunit       = MakeTestsLogic(false, ref mockDependents);
                var             testContext    = new UserSelectedContext
                {
                    BranchId   = "FUT",
                    CustomerId = "234567"
                };
                var fakeUser  = new UserProfile();
                var testLists = new List <ListModel>
                {
                    new ListModel
                    {
                        BranchId       = "FUT",
                        CustomerNumber = "123456",
                        Type           = ListType.Contract,
                        ListId         = 5
                    },
                    new ListModel
                    {
                        BranchId       = "FUT",
                        CustomerNumber = "123456",
                        Type           = ListType.Favorite,
                        ListId         = 5
                    }
                };

                // act
                testunit.ClearCustomersListCaches(fakeUser, testContext.CustomerId, testContext.BranchId, testLists);

                // assert
                mockDependents.CacheRepository.Verify(m => m.RemoveItem(It.IsAny <string>(),
                                                                        It.IsAny <string>(),
                                                                        It.IsAny <string>(),
                                                                        It.IsAny <string>()), Times.Exactly(10), "not called");
            }
            public void WhenGettingInvoiceCustomersWhenForAllCustomersIsTrue_ResultingInvoiceCustomersCountIsOne()
            {
                // arrange
                MockDependents       mockDependents = new MockDependents();
                IOnlinePaymentsLogic testunit       = MakeTestsLogic(useAutoFac: true, mockDependents: ref mockDependents);
                var testUser    = new UserProfile();
                var testContext = new UserSelectedContext {
                    BranchId   = "XXXXX",
                    CustomerId = "111111"
                };
                var testPaging = new PagingModel()
                {
                    Sort = new List <SortInfo>()
                    {
                        new SortInfo()
                        {
                            Field = "invoiceamount",
                            Order = "desc"
                        }
                    }
                };
                var testAllCustomers = true;

                BEKConfiguration.Add(
                    "WebNowUrl",
                    "http://invoice.benekeith.com/webnow/index.jsp?action=filter&amp;username=anonymous&amp;drawer={branch}AR501&amp;tab={customer}&amp;field4={invoice}");
                var expected = 1;

                // act
                var result = testunit.GetInvoiceCustomers(testUser, testContext, testPaging, testAllCustomers);

                BEKConfiguration.Reset();

                // assert
                result.customers.Count
                .Should()
                .Be(expected);
            }
Пример #9
0
            public void GoodHeader_SavesCorrectBranchId()
            {
                // arrange
                string expected = "FRT";

                UserSelectedContext context = new UserSelectedContext()
                {
                    CustomerId = "200321",
                    BranchId   = "FRT"
                };

                NotesListHeader             header = MakeHeader();
                INotesHeadersListRepository repo   = MakeRepo();

                // act
                var headerId = repo.Save(header);
                var results  = repo.GetHeadersForCustomer(context);

                // assert
                results.BranchId
                .Should()
                .Be(expected);
            }
Пример #10
0
            public void GoodHeader_DoesNotUseSetCreatedUtc()
            {
                // arrange
                UserSelectedContext context = new UserSelectedContext()
                {
                    CustomerId = "200321",
                    BranchId   = "FRT"
                };

                DateTime expected = new DateTime(2017, 6, 30, 16, 32, 0, DateTimeKind.Utc);

                NotesListHeader             header = MakeHeader();
                INotesHeadersListRepository repo   = MakeRepo();

                // act
                var headerId = repo.Save(header);
                var results  = repo.GetHeadersForCustomer(context);

                // assert
                results.CreatedUtc
                .Should()
                .NotBe(expected);
            }
Пример #11
0
        public CustomInventoryImportModel ImportCustomInventory
            (UserProfile user, UserSelectedContext catalogInfo, CustomInventoryImportFileModel file)
        {
            try {
                CustomInventoryImportModel importReturn = new CustomInventoryImportModel();

                List <CustomInventoryItem> items = parseListDelimited(file, CSV_DELIMITER, user, catalogInfo);

                _customInventoryRepo.SaveRange(items);
                importReturn.Success = true;

                return(importReturn);
            } catch (Exception ex) {
                eventLogRepository.WriteErrorLog
                    (string.Format("Custom Inventory Import Error for Customer {0}", catalogInfo.CustomerId), ex);
                SendErrorEmail(file, ex);

                return(new CustomInventoryImportModel {
                    Success = false,
                    ErrorMessage = "An error has occurred while processing the import file"
                });
            }
        }
Пример #12
0
            public void GoodCustomerWithoutDetails_ReturnsExpectedCountOfTwo()
            {
                // arrange
                UserSelectedContext customer = new UserSelectedContext {
                    BranchId   = "FUT",
                    CustomerId = "123456"
                };
                UserProfile user = new UserProfile();

                MockDependents   mockDependents = new MockDependents();
                ICustomListLogic logic          = MakeMockLogic(mockDependents);

                // expect
                int expected = 2;

                // act
                List <ListModel> results = logic.ReadLists(user, customer, true);

                // assert
                results.Count
                .Should()
                .Be(expected);
            }
Пример #13
0
            public void CustomerWithNoSharedList_DoesNotSeeList()
            {
                // arrange
                UserSelectedContext customer = new UserSelectedContext {
                    BranchId   = "FUT",
                    CustomerId = "222222"
                };
                UserProfile user = new UserProfile();

                MockDependents   mockDependents = new MockDependents();
                ICustomListLogic logic          = MakeMockLogic(mockDependents);

                // expect
                int expected = 0;

                // act
                List <ListModel> results = logic.ReadLists(user, customer, false);

                // assert
                results.Count
                .Should()
                .Be(expected);
            }
Пример #14
0
            public void BadCustomerIdWithDetails_ReturnsListWithNoHeaders()
            {
                // arrange
                UserSelectedContext customer = new UserSelectedContext {
                    BranchId   = "FUT",
                    CustomerId = "999999"
                };
                UserProfile user = new UserProfile();

                MockDependents   mockDependents = new MockDependents();
                ICustomListLogic logic          = MakeMockLogic(mockDependents);

                // expect
                int expected = 0;

                // act
                List <ListModel> results = logic.ReadLists(user, customer, false);

                // assert
                results.Count
                .Should()
                .Be(expected);
            }
Пример #15
0
            public void GoodHeaderIdWithoutItems_ReturnsExpectedListModel()
            {
                // arrange
                int headerId = 1;
                UserSelectedContext userSelectedContext = new UserSelectedContext {
                    BranchId   = "FUT",
                    CustomerId = "123456"
                };

                MockDependents   mockDependents = new MockDependents();
                ICustomListLogic logic          = MakeMockLogic(mockDependents);

                // expect
                int expected = 1;

                // act
                ListModel result = logic.ReadList(headerId, userSelectedContext, true);

                // assert
                result.ListId
                .Should()
                .Be(expected);
            }
            public void BadCustomer_CallsGetCustomersTwice()
            {
                // arrange
                var repo    = MockCustomerRepo();
                var logic   = MakeLogic(customerRepository: repo.Object);
                var context = new UserSelectedContext()
                {
                    BranchId   = "FDF",
                    CustomerId = "999999"
                };
                var expected = 2;

                BEKConfiguration.Add("CampaignImagesUrl", "http://test/");

                // act
                var test = logic.GetAllAvailableCampaigns(context);

                BEKConfiguration.Reset();

                // assert
                repo.Verify(r => r.GetAllCustomersByCampaign(It.IsAny <long>()),
                            Times.Exactly(expected));
            }
            public void GoodCustomer_CallsGetAllheadersOnce()
            {
                // arrange
                var repo    = MockHeaderRepo();
                var logic   = MakeLogic(headerRepo: repo.Object);
                var context = new UserSelectedContext()
                {
                    BranchId   = "FDF",
                    CustomerId = "123456"
                };
                var expected = 1;

                BEKConfiguration.Add("CampaignImagesUrl", "http://test/");

                // act
                var test = logic.GetAllAvailableCampaigns(context);

                BEKConfiguration.Reset();

                // assert
                repo.Verify(r => r.GetAll(),
                            Times.Exactly(expected));
            }
            public void GoodHeader_DoesNotUseSetModifiedUtc()
            {
                // arrange
                DateTime expected = new DateTime(2017, 6, 30, 16, 33, 0, DateTimeKind.Utc);

                UserSelectedContext context = new UserSelectedContext()
                {
                    CustomerId = "200321",
                    BranchId   = "FRT"
                };

                MandatoryItemsListHeader             header = MakeHeader();
                IMandatoryItemsListHeadersRepository repo   = MakeRepo();

                // act
                var headerId = repo.SaveMandatoryItemsHeader(header);
                var results  = repo.GetListHeaderForCustomer(context);

                // assert
                results.ModifiedUtc
                .Should()
                .NotBe(expected);
            }
            public void GoodHeader_SavesCorrectCustomerNumber()
            {
                // arrange
                string expected = "200321";

                UserSelectedContext context = new UserSelectedContext()
                {
                    CustomerId = "200321",
                    BranchId   = "FRT"
                };

                MandatoryItemsListHeader             header = MakeHeader();
                IMandatoryItemsListHeadersRepository repo   = MakeRepo();

                // act
                var headerId = repo.SaveMandatoryItemsHeader(header);
                var results  = repo.GetListHeaderForCustomer(context);

                // assert
                results.CustomerNumber
                .Should()
                .Be(expected);
            }
Пример #20
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="user"></param>
        /// <param name="context"></param>
        /// <param name="exportRequest"></param>
        /// <param name="invoiceNumber"></param>
        /// <param name="contractdictionary"></param>
        /// <returns></returns>
        public List <InvoiceItemModel> GetExportableInvoiceItems(UserProfile user,
                                                                 UserSelectedContext context,
                                                                 ExportRequestModel exportRequest,
                                                                 string invoiceNumber,
                                                                 Dictionary <string, string> contractdictionary)
        {
            if (exportRequest.Fields != null)
            {
                _exportLogic.SaveUserExportSettings(user.UserId,
                                                    Core.Models.Configuration.EF.ExportType.InvoiceDetail,
                                                    KeithLink.Svc.Core.Enumerations.List.ListType.Custom,
                                                    exportRequest.Fields,
                                                    exportRequest.SelectedType);
            }

            Order order = _orderLogic.GetOrder(context.BranchId, invoiceNumber);

            List <InvoiceItemModel> items = order.Items.Select(i => i.ToInvoiceItem()).ToList();

            items = items.Select(i => _invLogic.AssignContractCategory(contractdictionary, i)).ToList();

            return(items);
        }
Пример #21
0
            public void AnyCall_CallsCacheRepositoryAddItem()
            {
                // arrange
                var             mockDependents = new MockDependents();
                ICacheListLogic testunit       = MakeTestsLogic(false, ref mockDependents);
                var             testContext    = new UserSelectedContext
                {
                    BranchId   = "FUT",
                    CustomerId = "234567"
                };
                var lists = new List <string>();

                // act
                testunit.AddCachedLabels(testContext, lists);

                // assert
                mockDependents.CacheRepository.Verify(m => m.AddItem(It.IsAny <string>(),
                                                                     It.IsAny <string>(),
                                                                     It.IsAny <string>(),
                                                                     It.IsAny <string>(),
                                                                     It.IsAny <TimeSpan>(),
                                                                     It.IsAny <List <string> >()), Times.Exactly(2), "not called");
            }
Пример #22
0
        public Guid ImportFromPowerMenu(VendorPurchaseOrderRequest powerMenuRequest)
        {
            UserProfile user = _profileLogic.GetUserProfile(powerMenuRequest.Login.Username).UserProfiles.FirstOrDefault();

            Core.Models.ShoppingCart.ShoppingCart newCart = new Core.Models.ShoppingCart.ShoppingCart();
            newCart.Items = new List <ShoppingCartItem>();

            // Get the customer information needed
            List <Customer> customers = _customerRepo.GetCustomersForUser(user.UserId);
            Customer        customer  = customers.Distinct()
                                        .Where(x =>
                                               x.CustomerNumber.Equals(powerMenuRequest.Order.OrderHeader.CustomerNumber) &&
                                               x.IsPowerMenu.Equals(true)
                                               )
                                        .FirstOrDefault();

            // Set the selected user context
            UserSelectedContext context = new UserSelectedContext();

            context.BranchId   = customer.CustomerBranch;
            context.CustomerId = customer.CustomerNumber;

            // Build the generated cart
            newCart.BranchId = customer.CustomerBranch;
            newCart.PONumber = string.Format("eMenuManage Order {0} ", powerMenuRequest.Order.OrderHeader.PurchaseOrderNumber);
            newCart.Name     = string.Format("eMenuManage Order - {0}", DateTime.Now.ToString());

            List <ShoppingCartItem> shoppingCartItems = powerMenuRequest.Order.OrderItem.ToShoppingCartItems(context.BranchId.ToLower());

            newCart.Items.AddRange(shoppingCartItems);

            ShipDateReturn validDates = _shipDateRepository.GetShipDates(context);

            newCart.RequestedShipDate = validDates.ShipDates.FirstOrDefault().Date;

            return(_shoppingCartLogic.CreateCart(user, context, newCart));
        }
Пример #23
0
        public Dictionary <string, int> GetHitsForCatalogs(UserSelectedContext catalogInfo, string search, SearchInputModel searchModel)
        {
            List <ExportExternalCatalog> externalCatalog = _externalCatalogRepository.ReadExternalCatalogs().ToList();
            var listOfCatalogs = externalCatalog.Select(x => x.Type).Distinct().ToList();

            listOfCatalogs.Add("BEK");

            var baseCatalogTypeIndex = listOfCatalogs.IndexOf(searchModel.CatalogType);

            if (baseCatalogTypeIndex != -1)
            {
                listOfCatalogs.RemoveAt(baseCatalogTypeIndex);
            }

            var nonSortingSearchModel = new SearchInputModel
            {
                CatalogType = searchModel.CatalogType,
                Dept        = searchModel.Dept,
                Facets      = BlockSpecialFiltersInFacets(searchModel.Facets),
                From        = searchModel.From,
                Size        = 1, //This will minimize number returned from elastic search to minimize processing for only count
            };

            var hitCounts = new Dictionary <string, int>();

            foreach (var catalog in listOfCatalogs)
            {
                var catalogTempInfo = new UserSelectedContext();
                catalogTempInfo.CustomerId = catalogInfo.CustomerId;
                catalogTempInfo.BranchId   = GetBranchId(catalogInfo.BranchId, catalog);

                var hitCount = _catalogRepository.GetHitsForSearchInIndex(catalogTempInfo, search, nonSortingSearchModel);
                hitCounts.Add(catalog.ToLower(), hitCount);
            }

            return(hitCounts);
        }
        public ListModel SaveList(UserProfile user, UserSelectedContext catalogInfo, ListModel list)
        {
            ReminderItemsListHeader header = _headersRepo.GetReminderItemsHeader(catalogInfo);

            if (header == null)
            {
                if (list.Items.Count == 0)
                {
                    ReminderItemsListHeader model = new ReminderItemsListHeader()
                    {
                        BranchId       = catalogInfo.BranchId,
                        CustomerNumber = catalogInfo.CustomerId
                    };
                    _headersRepo.SaveReminderListHeader(model);
                }
                else
                {
                    foreach (var item in list.Items)
                    {
                        ReminderItemsListDetail detail = item.ToReminderItemsListDetail(0);
                        detail.Active = !item.IsDelete;
                        Save(catalogInfo, detail);
                    }
                }
            }
            else
            {
                foreach (var item in list.Items)
                {
                    ReminderItemsListDetail detail = item.ToReminderItemsListDetail(header.Id);
                    detail.Active = !item.IsDelete;
                    Save(catalogInfo, detail);
                }
            }

            return(GetListModel(user, catalogInfo, 0));
        }
Пример #25
0
        private (string Name, string EmailAddress) GetTarget(UserSelectedContext userContext, UserProfile user, Audience audience)
        {
            (string Name, string EmailAddress)target;

            switch (audience)
            {
            case Audience.Support:
                target = (audience.ToString(), "*****@*****.**");
                break;

            case Audience.BranchSupport:
                var branch = GetBranch(userContext);
                target = (branch.BranchName, branch.Email);
                break;

            case Audience.SalesRep:
                var customer = GetCustomer(userContext, user);
                target = (customer.Dsr.Name, customer.Dsr.EmailAddress);
                break;

            case Audience.User:
                target = (user.Name, user.EmailAddress);
                break;

            default:
                target = (audience.ToString(), "*****@*****.**");
                break;
            }

            // Route feedback to originating user when not in production
            if (Common.Impl.Configuration.IsProduction == false)
            {
                target = ("non-production user", AuthenticatedUser.EmailAddress);
            }

            return(target);
        }
Пример #26
0
        /// <summary>
        /// Gets just the primary order details needed without the excess of item details or invoice status
        /// </summary>
        /// <param name="customerInfo"></param>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <returns></returns>
        private List <Order> GetShallowOrderDetailInDateRange(UserSelectedContext customerInfo, DateTime startDate, DateTime endDate)
        {
            int numberOfDays = (endDate - startDate).Days + 1;
            var dateRange    = Enumerable.Range(0, numberOfDays).Select(d => startDate.AddDays(d).ToLongDateFormat());

            List <EF.OrderHistoryHeader> headers = _headerRepo.Read(h => h.BranchId.Equals(customerInfo.BranchId, StringComparison.InvariantCultureIgnoreCase) &&
                                                                    h.CustomerNumber.Equals(customerInfo.CustomerId) &&
                                                                    dateRange.Contains(h.DeliveryDate),
                                                                    i => i.OrderDetails)
                                                   .ToList();
            List <Order> orders = new List <Order>();

            foreach (EF.OrderHistoryHeader h in headers)
            {
                Order order = h.ToOrder();

                if (order.Items != null)
                {
                    order.OrderTotal = order.Items.Sum(i => i.LineTotal);
                }

                orders.Add(order);
            }

            // Leaving this code commented out in case we need further performance increases
            //Parallel.ForEach( headers, new ParallelOptions { MaxDegreeOfParallelism = 2 }, h => {
            //    Order order = h.ToOrder();

            //    if (order.Items != null) {
            //        order.OrderTotal = order.Items.AsParallel().WithDegreeOfParallelism(2).Sum(i => i.LineTotal);
            //    }

            //    orders.Add( order );
            //} );

            return(orders);
        }
        public void Save(UserSelectedContext catalogInfo, ReminderItemsListDetail model)
        {
            // try to find the parent header id if it is not in the model
            if (model.HeaderId == 0)
            {
                ReminderItemsListHeader header = _headersRepo.GetReminderItemsHeader(catalogInfo);

                if (header == null)
                {
                    // create the header
                    model.HeaderId = _headersRepo.SaveReminderListHeader(new ReminderItemsListHeader()
                    {
                        BranchId       = catalogInfo.BranchId,
                        CustomerNumber = catalogInfo.CustomerId
                    });
                }
                else
                {
                    model.HeaderId = header.Id;
                }
            }

            _detailsRepo.SaveReminderListDetail(model);
        }
        public ListModel SaveList(UserProfile user, UserSelectedContext catalogInfo, ListModel list)
        {
            MandatoryItemsListHeader header = _headersRepo.GetListHeaderForCustomer(catalogInfo);

            if (header == null)
            {
                foreach (var item in list.Items)
                {
                    MandatoryItemsListDetail detail = item.ToMandatoryItemsListDetail(0);
                    detail.Active = !item.IsDelete;
                    SaveDetail(catalogInfo, detail);
                }
            }
            else
            {
                foreach (var item in list.Items)
                {
                    MandatoryItemsListDetail detail = item.ToMandatoryItemsListDetail(header.Id);
                    detail.Active = !item.IsDelete;
                    SaveDetail(catalogInfo, detail);
                }
            }
            return(ReadList(user, catalogInfo, false));
        }
            public void GoodCustomer_ReturnsTwoRecords()
            {
                // arrange
                var logic   = MakeLogic();
                var context = new UserSelectedContext()
                {
                    BranchId   = "FDF",
                    CustomerId = "123456"
                };
                var expected = 2;

                BEKConfiguration.Add("CampaignImagesUrl", "http://test/");

                // act
                var test = logic.GetAllAvailableCampaigns(context);

                BEKConfiguration.Reset();

                // assert
                test.campaigns
                .Count
                .Should()
                .Be(expected);
            }
Пример #30
0
            public void AnyCall_CallsCacheRepositoryAddItem()
            {
                // arrange
                var             mockDependents = new MockDependents();
                ICacheListLogic testunit       = MakeTestsLogic(false, ref mockDependents);
                var             testContext    = new UserSelectedContext
                {
                    BranchId   = "FUT",
                    CustomerId = "234567"
                };
                var testtype = ListType.Contract;
                var list     = new ListModel();

                // act
                testunit.AddCachedSpecificList(testContext, testtype, 5, list);

                // assert
                mockDependents.CacheRepository.Verify(m => m.AddItem(It.IsAny <string>(),
                                                                     It.IsAny <string>(),
                                                                     It.IsAny <string>(),
                                                                     It.IsAny <string>(),
                                                                     It.IsAny <TimeSpan>(),
                                                                     It.IsAny <ListModel>()), Times.Once, "not called");
            }