public void CreateProductShouldCorrect() { // arrange var newProduct = new ProductEntity { Name = nameof(CreateProductShouldCorrect), Amount = 10, AccountId = 2 }; // action var sut = new MariaDbRepository(); var insertedProduct = sut.CreateProduct(newProduct); // assert Assert.NotZero(newProduct.Id); Assert.NotZero(insertedProduct.Id); }
public void InsertUserAndProductRollbackInTransactionScope() { // arrange var newUser = new UserEntity { Code = "UnitTest_Scope", Password = "******", IsActive = false }; var newProduct = new ProductEntity { Name = nameof(CreateProductShouldCorrect), Amount = 10, AccountId = 2 }; UserEntity insertedUser; ProductEntity insertedProduct; int originUserCount, tempUserCount, finalUserCount; int originProductCount, tempProductCount, finalProductCount; // action using (var transactionScope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = IsolationLevel.RepeatableRead }, TransactionScopeAsyncFlowOption.Enabled)) { var userRepo = new MariaDbRepository(); var productRepo = new MariaDbRepository(); originUserCount = userRepo.GetUsers().Count(); insertedUser = userRepo.CreateUser(newUser); tempUserCount = userRepo.GetUsers().Count(); originProductCount = productRepo.GetProducts().Count(); insertedProduct = productRepo.CreateProduct(newProduct); tempProductCount = productRepo.GetProducts().Count(); transactionScope.Dispose(); finalUserCount = userRepo.GetUsers().Count(); finalProductCount = productRepo.GetProducts().Count(); } // assert Assert.NotZero(insertedUser.Id); Assert.AreEqual(originUserCount + 1, tempUserCount); Assert.AreEqual(originUserCount, finalUserCount); Assert.NotZero(insertedProduct.Id); Assert.AreEqual(originProductCount + 1, tempProductCount); Assert.AreEqual(originProductCount, finalProductCount); }