public void GetByOrder()
        {
            try
            {
                var   options = CreateNewContextOptions();
                var   contact = ProcessingTestHelper.GenerateContact();
                Order order1;
                using (var db = new OrderContext(options))
                {
                    db.Contacts.Add(contact);
                    ProcessingTestHelper.PopulateDefaultOrderCtx(db);
                    var orderState = db.OrderStates.First();
                    var payment    = db.PaymentMethods.First();
                    var delivery   = db.DeliveryMethods.First();
                    var zone       = db.DeliveryZones.First();
                    order1 = ProcessingTestHelper.GenerateOrder(contact, orderState, payment, delivery, zone);

                    db.Set <Order>().AddRange(order1);
                    var detailsOrder = ProcessingTestHelper.GenerateOrderDetail(order1,
                                                                                new { Id = 1, Name = "Hat", Cost = 200 });
                    var detailsOrder2 = ProcessingTestHelper.GenerateOrderDetail(order1,
                                                                                 new { Id = 2, Name = "Hat", Cost = 200 });
                    var detailsOrder3 = ProcessingTestHelper.GenerateOrderDetail(order1,
                                                                                 new { Id = 3, Name = "Hat", Cost = 200 });
                    db.Set <OrderDetail>().AddRange(detailsOrder, detailsOrder2, detailsOrder3);
                    db.SaveChanges();
                }
                using (var db = new OrderContext(options))
                {
                    var repository =
                        new OrderDetailsRepository(db);
                    IEnumerable <OrderDetail> result = null;
                    Assert.DoesNotThrow(() => result = repository.GetByOrder(order1.Id));
                    Assert.True(result != null && result.Count() == 3);
                }
            }
            catch (Exception ex)
            {
                LogEventManager.Logger.Error(ex.Message, ex);
                throw;
            }
        }