Exemplo n.º 1
0
        public void ShouldGetItemAdjustmentByDate()
        {
            var testDate = new DateTime(2016, 5, 8);

            var itemProxy = new ItemProxy();
            var item      = _itemHelper.GetTestInventoryItem();
            var result    = itemProxy.InsertItem(item);
            var newItem   = itemProxy.GetItem(result.DataObject.InsertedItemId);

            var adjustmentItem = _adjustmentHelper.GetAdjustmentItem(newItem.DataObject.Id.Value, 1,
                                                                     newItem.DataObject.AssetAccountId.Value, 1, 1);

            var detail = _adjustmentHelper.GetAdjustmentDetail(new List <AdjustmentItem>()
            {
                adjustmentItem
            });

            detail.Date = testDate;
            var adjustmentProxy = new ItemAdjustmentProxy();
            var insertResponse  = adjustmentProxy.InsertItemAdjustment(detail);

            var response = new ItemAdjustmentsProxy().GetItemAdjustments(null, null, testDate.AddDays(-1), testDate.AddDays(1));

            Assert.IsNotNull(response);
            Assert.IsTrue(response.IsSuccessfull);
            Assert.IsNotNull(response.DataObject);
            Assert.IsNotNull(response.DataObject.ItemAdjustments);
            Assert.IsTrue(response.DataObject.ItemAdjustments.Count > 0);
        }
Exemplo n.º 2
0
        private void CreateTestItems()
        {
            //Create Item.
            var item     = _itemHelper.GetTestInventoryItem();
            var proxy    = new ItemProxy();
            var response = new ItemProxy().InsertItem(item);

            _item = proxy.GetItem(response.DataObject.InsertedItemId).DataObject;

            //set SOH for item.
            var adjustment = new Core.Models.ItemAdjustments.AdjustmentDetail
            {
                AdjustmentItems = new List <Core.Models.ItemAdjustments.AdjustmentItem>
                {
                    new Core.Models.ItemAdjustments.AdjustmentItem
                    {
                        ItemId     = (int)_item.Id,
                        AccountId  = (int)item.AssetAccountId,
                        Quantity   = 20,
                        UnitPrice  = (decimal)item.BuyingPrice,
                        TotalPrice = (20 * (decimal)item.BuyingPrice)
                    }
                },
                Date = DateTime.Now
            };

            //Insert adjustment so there is enough Stock on hand for tests.
            var adjustmentResponse = new ItemAdjustmentProxy().InsertItemAdjustment(adjustment);
        }
Exemplo n.º 3
0
        public void ShouldGetItemAdjustments()
        {
            var itemProxy = new ItemProxy();
            var item      = _itemHelper.GetTestInventoryItem();
            var result    = itemProxy.InsertItem(item);
            var newItem   = itemProxy.GetItem(result.DataObject.InsertedItemId);

            var adjustmentItem = _adjustmentHelper.GetAdjustmentItem(newItem.DataObject.Id.Value, 1,
                                                                     newItem.DataObject.AssetAccountId.Value, 1, 1);

            var detail = _adjustmentHelper.GetAdjustmentDetail(new List <AdjustmentItem>()
            {
                adjustmentItem
            });

            detail.Date = detail.Date.AddDays(-1);
            var adjustmentProxy = new ItemAdjustmentProxy();
            var insertResponse  = adjustmentProxy.InsertItemAdjustment(detail);



            var response = new ItemAdjustmentsProxy().GetItemAdjustments();

            Assert.IsNotNull(response);
            Assert.IsTrue(response.IsSuccessfull);
            Assert.IsNotNull(response.DataObject);
            Assert.IsNotNull(response.DataObject.ItemAdjustments);
            Assert.IsTrue(response.DataObject.ItemAdjustments.Count > 0);
            //Assert.IsTrue(response.DataObject.ItemAdjustments.Exists(x => x.Id == insertResponse.DataObject.InsertedEntityId));
        }
Exemplo n.º 4
0
        public void ShouldFailGetItemAdjustmentWithBadId()
        {
            var adjustmentProxy = new ItemAdjustmentProxy();
            var response        = adjustmentProxy.GetItemAdjustment(-1);

            Assert.IsFalse(response.IsSuccessfull);
            Assert.IsNull(response.DataObject);
        }
Exemplo n.º 5
0
        public void ShouldFailGetItemAdjustment()
        {
            var adjustmentProxy = new ItemAdjustmentProxy();
            var response        = adjustmentProxy.GetItemAdjustment(99999999);

            Assert.IsFalse(response.IsSuccessfull);
            Assert.IsNull(response.DataObject);
            Assert.IsTrue(response.RawResponse.Contains("The requested transaction is not found."));
        }
Exemplo n.º 6
0
        public void ShouldFailOnInsertWithNoAdjustmentItems()
        {
            var detail          = _adjustmentHelper.GetAdjustmentDetail(new List <AdjustmentItem>());
            var adjustmentProxy = new ItemAdjustmentProxy();
            var response        = adjustmentProxy.InsertItemAdjustment(detail);

            Assert.IsFalse(response.IsSuccessfull);
            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.IsNull(response.DataObject);
            Assert.IsTrue(response.RawResponse.Contains("Please specify AdjustmentItems for this transaction."));
        }
Exemplo n.º 7
0
        public void ShouldUpdateExistingItemAdjustment()
        {
            var itemProxy = new ItemProxy();
            var item      = _itemHelper.GetTestInventoryItem();
            var result    = itemProxy.InsertItem(item);
            var newItem   = itemProxy.GetItem(result.DataObject.InsertedItemId);

            var adjustmentItem = _adjustmentHelper.GetAdjustmentItem(newItem.DataObject.Id.Value, 1,
                                                                     newItem.DataObject.AssetAccountId.Value, 1, 1);

            var detail = _adjustmentHelper.GetAdjustmentDetail(new List <AdjustmentItem>()
            {
                adjustmentItem
            });
            var adjustmentProxy = new ItemAdjustmentProxy();
            var insertResponse  = adjustmentProxy.InsertItemAdjustment(detail);


            detail.LastUpdatedId = insertResponse.DataObject.LastUpdatedId;
            detail.Summary       = "Updated the summary.";
            detail.AdjustmentItems[0].Quantity = 5;
            detail.Notes = "Updated the notes.";
            detail.Tags  = new List <string>()
            {
                "Updated"
            };
            detail.RequiresFollowUp = true;

            var updateDate = DateTime.Now.Date;

            detail.Date = updateDate;

            var response = adjustmentProxy.UpdateItemAdjustment(detail, insertResponse.DataObject.InsertedEntityId);

            Assert.IsTrue(response.IsSuccessfull);

            var updatedAdjustment = adjustmentProxy.GetItemAdjustment(insertResponse.DataObject.InsertedEntityId).DataObject;

            Assert.IsTrue(updatedAdjustment.AdjustmentItems[0].Quantity == 5);
            Assert.IsTrue(updatedAdjustment.Summary.Equals("Updated the summary."));
            Assert.IsTrue(updatedAdjustment.Notes.Equals("Updated the notes."));
            //Assert.IsTrue(updatedAdjustment.Tags[0] == "Updated");
            Assert.IsTrue(updateDate == updatedAdjustment.Date);
            Assert.IsTrue(updatedAdjustment.RequiresFollowUp.Value);
        }
Exemplo n.º 8
0
        public void ShouldDeleteItemAdjustment()
        {
            var itemProxy = new ItemProxy();
            var item      = _itemHelper.GetTestInventoryItem();
            var result    = itemProxy.InsertItem(item);
            var newItem   = itemProxy.GetItem(result.DataObject.InsertedItemId);

            var adjustmentItem = _adjustmentHelper.GetAdjustmentItem(newItem.DataObject.Id.Value, 1,
                                                                     newItem.DataObject.AssetAccountId.Value, 1, 1);

            var detail = _adjustmentHelper.GetAdjustmentDetail(new List <AdjustmentItem>()
            {
                adjustmentItem
            });
            var adjustmentProxy = new ItemAdjustmentProxy();
            var insertResponse  = adjustmentProxy.InsertItemAdjustment(detail);

            var response = adjustmentProxy.DeleteItemAdjustment(insertResponse.DataObject.InsertedEntityId);

            Assert.IsTrue(response.IsSuccessfull);
        }
Exemplo n.º 9
0
        public void ShouldInsertItemAdjustment()
        {
            //var itemCode = "test_w1";
            var itemProxy = new ItemProxy();
            var item      = _itemHelper.GetTestInventoryItem();
            var result    = itemProxy.InsertItem(item);
            var newItem   = itemProxy.GetItem(result.DataObject.InsertedItemId);

            var adjustmentItem = _adjustmentHelper.GetAdjustmentItem(newItem.DataObject.Id.Value, 1,
                                                                     newItem.DataObject.AssetAccountId.Value, 1, 1);

            var detail = _adjustmentHelper.GetAdjustmentDetail(new List <AdjustmentItem>()
            {
                adjustmentItem
            });
            var adjustmentProxy = new ItemAdjustmentProxy();
            var response        = adjustmentProxy.InsertItemAdjustment(detail);

            Assert.IsTrue(response.IsSuccessfull);
            Assert.IsNotNull(response.DataObject);
            Assert.IsTrue(response.DataObject.InsertedEntityId > 0);
            Assert.GreaterOrEqual(response.DataObject.UtcLastModified, DateTime.Today.AddMinutes(-10).ToUniversalTime());
        }
Exemplo n.º 10
0
        public void InventoryAdjustments(List <Tuple <BuildItem, decimal> > itemQuantityList)
        {
            var proxy = new ItemAdjustmentProxy();

            var items = new List <AdjustmentItem>();

            itemQuantityList.ForEach(iq =>
            {
                items.Add(new AdjustmentItem()
                {
                    AccountId  = _inventoryAccountId,
                    ItemId     = iq.Item1.Id,
                    Quantity   = iq.Item2,
                    TotalPrice = 1,
                    UnitPrice  = 10
                });
            });

            proxy.InsertItemAdjustment(new AdjustmentDetail()
            {
                AdjustmentItems = items,
                Date            = DateTime.Now
            });
        }