public void SubscriptionsService_PayPurchase_calls_Update_method()
        {
            int  id             = 12;
            bool isUpdateCalled = true;
            var  mock           = new Mock <IUnitOfWork>();

            mock.Setup(a => a.Purchases.Find(It.IsAny <Func <Purchase, bool> >())).Returns(new List <Purchase>
            {
                new Purchase {
                    Id = id, IsPaid = false, UserId = 1
                }
            });
            mock.Setup(a => a.Purchases.Update(It.Is <Purchase>(p =>
                                                                (p.Id == id) &&
                                                                (p.IsPaid == true) &&
                                                                (p.UserId == 1)))).Callback(() => isUpdateCalled = true);

            service = new SubscriptionsService(mock.Object);
            service.PayPurchase(id);

            Assert.IsTrue(isUpdateCalled);
        }