public void AddAmountDepositAsyncTest()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .EnableSensitiveDataLogging()
                          .UseInMemoryDatabase($"db-{Guid.NewGuid()}")
                          .Options;

            // Run the test against one instance of the context
            using (var context = new ApplicationDbContext(options))
            {
                InitUsersAsync(context);

                var customerId = context.Users
                                 .AsNoTracking().Where(x => x.UserName == CUSTOMER_USERNAME)
                                 .Select(x => x.Id)
                                 .SingleOrDefault();

                var purseRepository           = new PurseRepository(context);
                var userDepositRepository     = new UserDepositRepository(context);
                var customerProductRepository = new CustomerProductRepository(context);
                var vendingMachineService     = new VendingMachineServiceFake(purseRepository, context);

                var paymentService = new PaymentService(purseRepository, userDepositRepository,
                                                        customerProductRepository, vendingMachineService);

                paymentService.AddAmountDepositAsync(new CoinDTO {
                    TypeCoin = TypeCoin.Price10Rub
                }, customerId).GetAwaiter();

                // у юзера депозит равен 10
                Assert.Equal(10, userDepositRepository.GetAmountDepositAsync(customerId).GetAwaiter().GetResult());

                // кошелек VM
                var purseVM = context.Users.AsNoTracking().Where(x => x.UserName == VMUSERNAME)
                              .Include(x => x.Purse)
                              .ThenInclude(x => x.PurseCoins)
                              .SingleOrDefault();

                var purseCoins10 = purseVM.Purse.PurseCoins
                                   .Where(x => x.TypeCoin == TypeCoin.Price10Rub)
                                   .SingleOrDefault();

                // у автомата в кошельке монет достоинством 10р будет 101 штука
                Assert.Equal(101, purseCoins10.Count);
            }
        }
 // GET: /<controller>/
 public CustomerProductController()
 {
     _customerProductRepository = new CustomerProductRepository();
 }