public void SearchStockItemsIfNoItemFoundTest()
        {
            _policyManager.Setup(p => p.Sell_Inactive).Returns(true);
            _stockService.Setup(s => s.SearchStock(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <int>(), It.IsAny <int>()))
            .Returns((string searchTerm, bool sellInactive, int pageIndex, int pageSize) => { return(SearchStockItems(searchTerm)); });
            _stockManager = new StockManager(_stockService.Object, _policyManager.Object,
                                             _taxService.Object, _resourceManager, _loginManager.Object);
            var expected = 0;
            var search   = "Test";
            var actual   = _stockManager.SearchStockItems(search);

            Assert.AreEqual(expected, actual.Count);
        }
示例#2
0
        public HttpResponseMessage SearchStock(string searchTerm, int pageIndex = 1, int pageSize = 100)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,StockV1Controller,SearchStock,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            if (string.IsNullOrEmpty(searchTerm))
            {
                return(Request.CreateResponse(
                           HttpStatusCode.BadRequest,
                           new ErrorResponse
                {
                    Error = new MessageStyle {
                        Message = Resource.InvalidRequest, MessageType = 0
                    }
                }));
            }

            var stockItems = _stockManager.SearchStockItems(searchTerm, pageIndex, pageSize);

            if (stockItems.Count == 0 && (pageIndex == 1 || pageIndex == 0))
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound, new ErrorResponse
                {
                    Error = new MessageStyle
                    {
                        Message = Resource.StockNotExists,
                        MessageType = MessageType.OkOnly
                    }
                }));
            }


            var listStockItems = stockItems.Select(stockItem => new StockItemModel
            {
                StockCode     = stockItem.StockCode,
                Description   = stockItem.Description,
                AlternateCode = stockItem.AlternateCode
            }).ToList();

            _performancelog.Debug($"End,StockV1Controller,SearchStock,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(Request.CreateResponse(HttpStatusCode.OK, listStockItems));
        }