コード例 #1
0
            public void Creates_new_SampleOrder_and_Items_as_expected()
            {
                //Arrange
                var parameters = new SetSampleOrderParameters
                {
                    UserToken    = TestUser.UserName,
                    DateDue      = new DateTime(2016, 2, 1),
                    DateReceived = new DateTime(2016, 1, 1),

                    BrokerKey             = TestHelper.CreateObjectGraphAndInsertIntoDatabase <Company>(c => c.SetCompanyTypes(CompanyType.Broker)).ToCompanyKey(),
                    RequestedByCompanyKey = TestHelper.CreateObjectGraphAndInsertIntoDatabase <Customer>().ToCustomerKey(),

                    Items = new List <ISampleOrderItemParameters>
                    {
                        new SampleOrderItemParameters
                        {
                            Quantity    = 123,
                            Description = "little plastic baggies",
                            LotKey      = TestHelper.CreateObjectGraphAndInsertIntoDatabase <ChileLot>().ToLotKey(),
                            ProductKey  = TestHelper.CreateObjectGraphAndInsertIntoDatabase <ChileProduct>().ToChileProductKey()
                        },
                        new SampleOrderItemParameters
                        {
                            Quantity    = 321,
                            Description = "little plastic baggies part 2",
                            ProductKey  = TestHelper.CreateObjectGraphAndInsertIntoDatabase <Product>(p => p.ProductType = ProductTypeEnum.NonInventory).ToProductKey()
                        }
                    }
                };

                //Act
                var result = Service.SetSampleOrder(parameters);

                //Assert
                result.AssertSuccess();
                var sampleOrderKey = KeyParserHelper.ParseResult <ISampleOrderKey>(result.ResultingObject).ResultingObject.ToSampleOrderKey();
                var sampleOrder    = RVCUnitOfWork.SampleOrderRepository.FindByKey(sampleOrderKey,
                                                                                   o => o.Broker,
                                                                                   o => o.RequestCustomer,
                                                                                   o => o.Items.Select(i => i.Product),
                                                                                   o => o.Items.Select(i => i.Lot));

                parameters.AssertEqual(sampleOrder);
            }
コード例 #2
0
            public void Sets_existing_SampleOrder_and_Items_as_expected()
            {
                //Arrange
                var sampleOrder = TestHelper.CreateObjectGraphAndInsertIntoDatabase <SampleOrder>(o => o.Items = TestHelper.List <SampleOrderItem>(3));
                var parameters  = new SetSampleOrderParameters
                {
                    UserToken      = TestUser.UserName,
                    SampleOrderKey = sampleOrder.ToSampleOrderKey(),
                    DateReceived   = new DateTime(2016, 1, 2),
                    DateDue        = sampleOrder.DateDue,
                    Items          = sampleOrder.Items.Take(2)
                                     .Select(i => new SampleOrderItemParameters
                    {
                        SampleOrderItemKey = i.ToSampleOrderItemKey()
                    })
                                     .Concat(new List <SampleOrderItemParameters>
                    {
                        new SampleOrderItemParameters
                        {
                            Quantity    = 132,
                            Description = "some kind of thing"
                        }
                    })
                };

                //Act
                var result = Service.SetSampleOrder(parameters);

                //Assert
                result.AssertSuccess();
                sampleOrder = RVCUnitOfWork.SampleOrderRepository.FindByKey(sampleOrder.ToSampleOrderKey(),
                                                                            o => o.Broker,
                                                                            o => o.RequestCustomer,
                                                                            o => o.Items.Select(i => i.Product),
                                                                            o => o.Items.Select(i => i.Lot));
                parameters.AssertEqual(sampleOrder);
            }