public void WhenInserting3EntitiesInTransactionWeGetAll3() { // insert 3 entitati Categorie, Client, Produs var categorie = new Categorie { Nume = "Produs XXX" }; var client = new Client { Nume = "Client XXX", CNP = "232323232", Prenume = "Client XXX prenume" }; var produs = new Produs { Nume = "Produs YYY", CategorieId = 1, Pret = 12 }; using (var connection = new SqlConnection(connectionString)) { connection.Open(); var categorieRepository = new AdoNetCategorieRepository(connection); var clientRepository = new AdoNetClientRepository(connection); var produsRepository = new AdoNetProdusRepository(connection); var categorieId = categorieRepository.Insert(categorie); var clientId = clientRepository.Insert(client); var produsId = produsRepository.Insert(produs); var categorieActual = categorieRepository.GetById(categorieId); var clientActual = clientRepository.GetById(clientId); var produsActual = produsRepository.GetById(produsId); categorie.AssertAreSame(categorieActual, false); client.AssertAreSame(clientActual, false); produs.AssertAreSame(produsActual, false); } }
public void WhenInserting3EntitiesWithCategorieNonExistentWeGet() { // insert 3 entitati Categorie, Client, Produs var categorie = new Categorie { Nume = "Produs XXX" }; var client = new Client { Nume = "Client XXX", CNP = "232323232", Prenume = "Client XXX prenume" }; var produs = new Produs { Nume = "Produs YYY", CategorieId = 99999999, Pret = 12 }; int categorieId = 0; int clientId = 0; int produsId = 0; Categorie categorieActual = null; Client clientActual = null; Produs produsActual = null; try { using (var transactionScope = new TransactionScope()) { using (var connection = new SqlConnection(connectionString)) { connection.Open(); var categorieRepository = new AdoNetCategorieRepository(connection); var clientRepository = new AdoNetClientRepository(connection); var produsRepository = new AdoNetProdusRepository(connection); categorieId = categorieRepository.Insert(categorie); clientId = clientRepository.Insert(client); produsId = produsRepository.Insert(produs); categorieActual = categorieRepository.GetById(categorieId); clientActual = clientRepository.GetById(clientId); produsActual = produsRepository.GetById(produsId); categorie.AssertAreSame(categorieActual, false); client.AssertAreSame(clientActual, false); produs.AssertAreSame(produsActual, false); } transactionScope.Complete(); } } catch (SqlException) { using (var connection = new SqlConnection(connectionString)) { connection.Open(); var categorieRepository = new AdoNetCategorieRepository(connection); var clientRepository = new AdoNetClientRepository(connection); var produsRepository = new AdoNetProdusRepository(connection); categorieActual = categorieRepository.GetById(categorieId); clientActual = clientRepository.GetById(clientId); produsActual = produsRepository.GetById(produsId); } Assert.IsNull(categorieActual); Assert.IsNull(clientActual); Assert.IsNull(produsActual); } }