public async Task GetAllAsyncReturnsExistingItems() { // arrange using (new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { var items = new[] { new CoursePath(Guid.NewGuid(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid()), new CoursePath(Guid.NewGuid(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid()), new CoursePath(Guid.NewGuid(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid()) }; using (var connection = new SqlConnection(_database.ConnectionString)) { await connection.ExecuteAsync("DELETE FROM [dbo].[CoursePath]").ConfigureAwait(false); foreach (var item in items) { await connection.ExecuteAsync("INSERT INTO [dbo].[CoursePath] ([Key], [Name], [Slug], [Version]) VALUES (@Key, @Name, @Slug, @Version)", item).ConfigureAwait(false); } } // act var repository = new CoursePathRepository(_database.SqlServerRepositoryOptions); var result = await repository.GetAllAsync().ConfigureAwait(false); // assert Assert.True(items.OrderBy(x => x.Key).SequenceEqual(result.OrderBy(x => x.Key))); } }
public async Task GetAllAsyncReturnsEmptyOnMissingItems() { // arrange using (new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { using (var connection = new SqlConnection(_database.ConnectionString)) { await connection.ExecuteAsync("DELETE FROM [dbo].[CoursePath]").ConfigureAwait(false); } // act var repository = new CoursePathRepository(_database.SqlServerRepositoryOptions); var result = await repository.GetAllAsync().ConfigureAwait(false); // assert Assert.NotNull(result); Assert.Empty(result); } }