Esempio n. 1
0
        public async Task Given_AValidPurchase_When_TryToInsert_Then_IsInsertedWithSuccess()
        {
            // arrange
            var dbContextOptions = new DbContextOptionsBuilder <CryptoBasketContext>()
                                   .UseInMemoryDatabase(databaseName: "InsertTestDatabase")
                                   .Options;

            var product = new Product(
                123456,
                "My Coin",
                "MCN",
                245.45D);

            Purchase purchase = new Purchase(product, quantity: 2);

            // act
            using (var context = new CryptoBasketContext(dbContextOptions))
            {
                var repository = new PurchaseRepository(context);
                await repository.SaveAsync(purchase);
            }

            // assert
            using (var context = new CryptoBasketContext(dbContextOptions))
            {
                Assert.Equal(1, context.Purchase.Count());
                Assert.NotNull(context.Purchase.Single());

                var purchaseFromDatabase = context.Purchase.Single();

                Assert.NotEqual(default, purchaseFromDatabase.Id);
Esempio n. 2
0
 public Repository(CryptoBasketContext context) =>
 this.context = context;
 public PurchaseRepository(CryptoBasketContext context) :
     base(context)
 {
 }