public void SubscriptionsService_UpdatePurchase_calls_Update_method()
        {
            var purchase = new PurchaseDTO
            {
                Id     = 7,
                IsPaid = false,
                UserId = 12
            };
            bool isUpdateCalled = false;

            var mock = new Mock <IUnitOfWork>();

            mock.Setup(a => a.Purchases.Update(It.Is <Purchase>(p =>
                                                                (p.Id == purchase.Id) &&
                                                                (p.IsPaid == purchase.IsPaid) &&
                                                                (p.UserId == purchase.UserId)))).Callback(() => isUpdateCalled = true);

            service = new SubscriptionsService(mock.Object);
            service.UpdatePurchase(purchase);

            Assert.IsTrue(isUpdateCalled);
        }