コード例 #1
0
        public void ShouldReplaceExistingComboItemBuildItem()
        {
            var comboItem = _itemHelper.GetTestComboItem();
            var proxy     = new ItemProxy();

            var insertResponse = proxy.InsertItem(comboItem);

            Assert.IsTrue(insertResponse.IsSuccessfull);
            Assert.IsTrue(insertResponse.DataObject.InsertedItemId > 0);

            var getResponse        = proxy.GetItem(insertResponse.DataObject.InsertedItemId);
            var retrievedComboItem = getResponse.DataObject;

            var inventoryItem         = _itemHelper.GetTestInventoryItem();
            var insertNewItemResponse = proxy.InsertItem(inventoryItem);

            Assert.IsTrue(insertNewItemResponse.IsSuccessfull);

            retrievedComboItem.BuildItems.RemoveAt(0);
            retrievedComboItem.BuildItems.Add(new BuildItem
            {
                Id       = insertNewItemResponse.DataObject.InsertedItemId,
                Quantity = 444
            });

            var updateResponse = proxy.UpdateItem(retrievedComboItem, retrievedComboItem.Id.Value);

            Assert.IsTrue(updateResponse.IsSuccessfull);
            Assert.AreEqual(insertResponse.DataObject.InsertedItemId, updateResponse.DataObject.UpdatedItemId);

            var updatedItem = proxy.GetItem(updateResponse.DataObject.UpdatedItemId);

            Assert.AreEqual(2, retrievedComboItem.BuildItems.Count);
            Assert.IsTrue(retrievedComboItem.BuildItems.Any(x => x.Id == insertNewItemResponse.DataObject.InsertedItemId));
        }
コード例 #2
0
        public void ShouldUpdateExistingComboItemBuildItem()
        {
            var comboItem = _itemHelper.GetTestComboItem();
            var proxy     = new ItemProxy();

            var insertResponse = proxy.InsertItem(comboItem);

            Assert.IsTrue(insertResponse.IsSuccessfull);
            Assert.IsTrue(insertResponse.DataObject.InsertedItemId > 0);

            var getResponse        = proxy.GetItem(insertResponse.DataObject.InsertedItemId);
            var retrievedComboItem = getResponse.DataObject;

            Assert.IsTrue(getResponse.IsSuccessfull);
            Assert.AreEqual(comboItem.Description, retrievedComboItem.Description);

            retrievedComboItem.BuildItems.OrderBy(x => x.Code).First().Quantity = 99;

            var updateResponse = proxy.UpdateItem(retrievedComboItem, retrievedComboItem.Id.Value);

            Assert.IsTrue(updateResponse.IsSuccessfull);
            Assert.AreEqual(insertResponse.DataObject.InsertedItemId, updateResponse.DataObject.UpdatedItemId);

            var updatedItem = proxy.GetItem(updateResponse.DataObject.UpdatedItemId);

            Assert.AreEqual(retrievedComboItem.BuildItems.OrderBy(x => x.Code).First().Quantity, updatedItem.DataObject.BuildItems.OrderBy(x => x.Code).First().Quantity);
        }
コード例 #3
0
        public void ShouldUpdateExistingInventoryItem()
        {
            var inventoryItem = _itemHelper.GetTestInventoryItem();
            var proxy         = new ItemProxy();

            var insertResponse = proxy.InsertItem(inventoryItem);

            Assert.IsTrue(insertResponse.IsSuccessfull);
            Assert.IsTrue(insertResponse.DataObject.InsertedItemId > 0);

            var getResponse   = proxy.GetItem(insertResponse.DataObject.InsertedItemId);
            var retrievedItem = getResponse.DataObject;

            Assert.IsTrue(getResponse.IsSuccessfull);
            Assert.AreEqual(inventoryItem.Description, retrievedItem.Description);

            retrievedItem.Description = "Updated Item " + Guid.NewGuid();

            var updateResponse = proxy.UpdateItem(retrievedItem, retrievedItem.Id.Value);

            Assert.IsTrue(updateResponse.IsSuccessfull);
            Assert.AreEqual(insertResponse.DataObject.InsertedItemId, updateResponse.DataObject.UpdatedItemId);

            var updatedItem = proxy.GetItem(updateResponse.DataObject.UpdatedItemId);

            Assert.AreEqual(retrievedItem.Description, updatedItem.DataObject.Description);
        }
コード例 #4
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);
        }
コード例 #5
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);
        }
コード例 #6
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));
        }
コード例 #7
0
        private ItemDetail InsertAndGetInventoryItem()
        {
            var itemProxy     = new ItemProxy();
            var inventoryItem = _itemHelper.GetTestInventoryItem();
            var itemResponse  = itemProxy.InsertItem(inventoryItem);
            var item          = itemProxy.GetItem(itemResponse.DataObject.InsertedItemId);

            Assert.IsNotNull(item.DataObject, "Failed to insert and retrieve inventory item");
            Thread.Sleep(2000);
            return(item.DataObject);
        }
コード例 #8
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);
        }
コード例 #9
0
        public void ShouldDeleteComboItem()
        {
            var proxy     = new ItemProxy();
            var comboItem = _itemHelper.GetTestComboItem();

            var insertResponse = proxy.InsertItem(comboItem);

            Assert.IsTrue(insertResponse.IsSuccessfull);

            var deleteResponse = proxy.DeleteItem(insertResponse.DataObject.InsertedItemId);

            Assert.IsTrue(deleteResponse.IsSuccessfull);
            Assert.AreEqual(HttpStatusCode.OK, deleteResponse.StatusCode);

            var getResponse = proxy.GetItem(insertResponse.DataObject.InsertedItemId);

            Assert.IsFalse(getResponse.IsSuccessfull);
            Assert.AreEqual(HttpStatusCode.BadRequest, getResponse.StatusCode);
        }
コード例 #10
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);
        }
コード例 #11
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());
        }
コード例 #12
0
        public void GetInventoryItemById()
        {
            var itemsProxy = new ItemsProxy();
            var inventoryAndComboItemResponse = itemsProxy.GetItems("I", null, null, 0, 25);

            Assert.IsTrue(inventoryAndComboItemResponse.IsSuccessfull && inventoryAndComboItemResponse.DataObject.Items.Count > 0, "Cannot continue test, request for items failed or returned no items");

            var existingInventoryItemId = inventoryAndComboItemResponse.DataObject.Items.First().Id;

            var itemProxy             = new ItemProxy();
            var inventoryItemResponse = itemProxy.GetItem(existingInventoryItemId.Value);

            Assert.IsTrue(inventoryItemResponse.IsSuccessfull, "Unsuccessful request.");
            var inventoryItem = inventoryItemResponse.DataObject;

            Assert.IsNotNull(inventoryItem, "No inventory item found.");
            Assert.IsTrue(inventoryItem.Type == "I", "Invalid item type.");

            Assert.IsTrue(inventoryItem.LastModifiedDateUtc.HasValue);
            Assert.AreNotEqual(DateTime.MinValue, inventoryItem.LastModifiedDateUtc.Value);
            Assert.IsTrue(inventoryItem.CreatedDateUtc.HasValue);
            Assert.AreNotEqual(DateTime.MinValue, inventoryItem.CreatedDateUtc.Value);
        }