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); }
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); }