Example #1
0
            public void Creates_PickedInventoryItem_records_as_expected()
            {
                //Arrange
                const int quantityPicked0 = 50;
                const int quantityPicked1 = 75;

                var inventory              = TestHelper.CreateObjectGraphAndInsertIntoDatabase <Inventory>(i => i.Quantity = 100);
                var inventoryKey0          = new InventoryKey(inventory);
                var inventoryKey1          = new InventoryKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <Inventory>(i => i.Location.ConstrainByKeys(inventory.Location), i => i.Quantity = 100));
                var destinationLocationKey = new LocationKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <Location>(l => l.ConstrainByKeys(inventory.Location.Facility)));

                //Act
                var result = Service.CreateIntraWarehouseOrder(new CreateIntraWarehouseOrderParameters
                {
                    UserToken           = TestUser.UserName,
                    TrackingSheetNumber = 123.1m,
                    OperatorName        = "Oh operator",
                    MovementDate        = new DateTime(2012, 3, 29),
                    PickedItems         = new List <IIntraWarehouseOrderPickedItemParameters>
                    {
                        new IntraWarehouseOrderPickedItemParameters
                        {
                            InventoryKey           = inventoryKey0.KeyValue,
                            DestinationLocationKey = destinationLocationKey,
                            Quantity = quantityPicked0
                        },
                        new IntraWarehouseOrderPickedItemParameters
                        {
                            InventoryKey           = inventoryKey1.KeyValue,
                            DestinationLocationKey = destinationLocationKey,
                            Quantity = quantityPicked1
                        }
                    }
                });

                //Assert
                result.AssertSuccess();
                var orderKey = new IntraWarehouseOrderKey(KeyParserHelper.ParseResult <IIntraWarehouseOrderKey>(result.ResultingObject).ResultingObject);
                var items    = RVCUnitOfWork.IntraWarehouseOrderRepository.FindByKey(orderKey,
                                                                                     i => i.PickedInventory.Items.Select(t => t.FromLocation),
                                                                                     i => i.PickedInventory.Items.Select(t => t.CurrentLocation))
                               .PickedInventory.Items.ToList();

                Assert.AreEqual(2, items.Count);

                var item0 = items.Single(i => inventoryKey0.Equals(new InventoryKey(i, i, i.FromLocation, i, i.ToteKey)));

                Assert.AreEqual(quantityPicked0, item0.Quantity);

                var item1 = items.Single(i => inventoryKey1.Equals(new InventoryKey(i, i, i.FromLocation, i, i.ToteKey)));

                Assert.AreEqual(quantityPicked1, item1.Quantity);
            }
Example #2
0
            public void Returns_IntraWarehouseOrders_without_PickedInventoryDetails()
            {
                //Arrange
                StartStopwatch();

                var orderKey0 = new IntraWarehouseOrderKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <IntraWarehouseOrder>());
                var orderKey1 = new IntraWarehouseOrderKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <IntraWarehouseOrder>());
                var orderKey2 = new IntraWarehouseOrderKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <IntraWarehouseOrder>());

                TestHelper.ResetContext();
                StopWatchAndWriteTime("Arrange");

                //Act
                var result = TimedExecution(() => Service.GetIntraWarehouseOrderSummaries());

                //Assert
                result.AssertSuccess();
                var orders = result.ResultingObject.ToList().Cast <IntraWarehouseOrderReturn>().ToList();

                Assert.IsNull(orders.Single(o => o.MovementKey == orderKey0.KeyValue).PickedInventoryDetail);
                Assert.IsNull(orders.Single(o => o.MovementKey == orderKey1.KeyValue).PickedInventoryDetail);
                Assert.IsNull(orders.Single(o => o.MovementKey == orderKey2.KeyValue).PickedInventoryDetail);
            }