コード例 #1
0
        public async Task Command_should_not_be_written_if_aborted()
        {
            // arrange
            var connectionString = $"Data Source={Guid.NewGuid():N};Mode=Memory;Cache=Shared";

            await InitializeDatabase(connectionString);

            var database = new SqliteConnection(connectionString);

            // act
            using var sut = new ShortLivedDbTransaction(() => database);
            await sut.ExecuteAsync(new InsertRandomText());

            await sut.AbortAsync();

            // assert
            var recordsFound = await _keepConnectionOpen.ExecuteScalarAsync <int>("SELECT COUNT(1) FROM TextEntries");

            Assert.Equal(ZeroRecordsShouldBeFound, recordsFound);
        }
コード例 #2
0
        public async Task Completed_data_should_be_avaiable_for_query()
        {
            // arrange
            var connectionString = $"Data Source={Guid.NewGuid():N};Mode=Memory;Cache=Shared";

            await InitializeDatabase(connectionString);

            var database = new SqliteConnection(connectionString);

            // act
            using var sut = new ShortLivedDbTransaction(() => database);
            await sut.ExecuteAsync(new InsertRandomText()); // <-- insert record

            await sut.CompleteAsync();

            var recordCount = await sut.QueryAsync(new CountTextEntries());

            // Assert
            Assert.Equal(OneRecordShouldBeFound, recordCount);
        }