public async Task Snapshot_SaveRemove_DataIsCommitted( ) { await SqlScripts.InitDbAsync( ); await using var connection = new MemoryDbConnection( ); var memoryDatabase = connection.GetMemoryDatabase( ); memoryDatabase.SaveSnapshot( ); var rows = memoryDatabase.Tables["dbo.application"].Rows; var currentRowCount = rows.Count; await connection.OpenAsync( ); var transaction = await connection.BeginTransactionAsync( ); await connection.ExecuteAsync(_SqlInsertApplication, new { Name = "Name string", User = "******", DefName = "DefName string" }, transaction); await connection.ExecuteAsync(_SqlInsertApplication, new { Name = "Name string", User = "******", DefName = "DefName string" }, transaction); await transaction.CommitAsync( ); memoryDatabase.RemoveSnapshot( ); var currentRows = memoryDatabase.Tables["dbo.application"].Rows; currentRows.Count.Should( ).Be(currentRowCount + 2); }
public async Task Transaction_RollbackUpdate_NoDataIsCommitted( ) { await SqlScripts.InitDbAsync( ); await using var connection = new MemoryDbConnection( ); await connection.OpenAsync( ); var transaction = await connection.BeginTransactionAsync( ); await connection.ExecuteAsync(_SqlUpdateApplication, transaction); await transaction.RollbackAsync( ); var applications = await connection.QueryAsync <ApplicationDto>(_SqlSelectApplication); foreach (var application in applications) { application.Name.Should().Be("Name String"); } }
public async Task Transaction_Rollback_NoDataIsCommitted( ) { await SqlScripts.InitDbAsync( ); await using var connection = new MemoryDbConnection( ); var rows = connection.GetMemoryDatabase( ).Tables["dbo.application"].Rows; var currentRowCount = rows.Count; await connection.OpenAsync( ); var transaction = await connection.BeginTransactionAsync( ); await connection.ExecuteAsync(_SqlInsertApplication, new { Name = "Name string", User = "******", DefName = "DefName string" }, transaction); await connection.ExecuteAsync(_SqlInsertApplication, new { Name = "Name string", User = "******", DefName = "DefName string" }, transaction); await transaction.RollbackAsync( ); var currentRows = connection.GetMemoryDatabase( ).Tables["dbo.application"].Rows; currentRows.Count.Should( ).Be(currentRowCount); }