public void PostOrder() { session.Transaction.Commit(); Assert.That(client.Addresses.Count, Is.EqualTo(2), "для того что бы тест удался адресов должно быть два"); var offerRepository = IoC.Resolve <IOfferRepository>(); var data = service.GetOffers(new[] { "name" }, new[] { "*" }, false, null, null, 100, 0); session.Transaction.Begin(); Assert.That(data.Tables[0].Rows.Count, Is.GreaterThan(0), "не нашли предложений"); var row = data.Tables[0].Rows[0]; var coreId = Convert.ToInt64(row["OfferId"]); var core = TestCore.Find((ulong)coreId); core.MinOrderCount = 50; session.Save(core); session.Transaction.Commit(); var result = service.PostOrder(new[] { coreId }, new[] { 50 }, new[] { "это тестовый заказ" }, address.Id); Assert.That(result.Tables[0].Rows[0]["OfferId"], Is.EqualTo(coreId)); Assert.That(result.Tables[0].Rows[0]["Posted"], Is.EqualTo(true)); var offer = offerRepository.GetById(new User { Id = user.Id }, (ulong)coreId); var order = TestOrder.Queryable.Single(o => o.Client == client); Assert.That(offer.MinOrderCount, Is.EqualTo(50)); Assert.That(order.Address.Id, Is.EqualTo(address.Id)); Assert.That(order.Items[0].CoreId, Is.EqualTo(offer.Id.CoreId)); Assert.That(order.Items[0].OrderCost, Is.EqualTo(offer.OrderCost)); Assert.That(order.Items[0].MinOrderCount, Is.EqualTo(offer.MinOrderCount)); Assert.That(order.Items[0].RequestRatio, Is.EqualTo(offer.RequestRatio)); }