public async Task GetAsyncItemsViaStoredProcedureWithNoParameterButNoAccountsExistNotParameterisedTestAsync() { //Given //When var repository = new EfCoreAsyncAccountRepository(_databaseFactory); var items = await repository.ExecuteQueryAsync <Account>("exec GetAccounts").ConfigureAwait(true); //Then Assert.AreEqual(0, items.ToList().Count, "Some items were returned where None should have been"); }
public async Task ExecuteStoredProcedureWithIncorrectQueryTestAsync() { //Given var repository = new EfCoreAsyncAccountRepository(_databaseFactory); //When AsyncTestDelegate testDelegate = async() => await repository.ExecuteQueryAsync("exec GetAccountsFake").ConfigureAwait(true); //Then Assert.ThrowsAsync <SqlException>(testDelegate, "The expected exception was not thrown."); }
public async Task GetAsyncItemsViaStoredProcedureWithNoParameterNotParameterisedTestAsync() { //Given using (var efCoreAsyncUnitOfWork = new EfCoreAsyncUnitOfWork <SharedLibraryContext>(_databaseFactory)) { var repository = new EfCoreAsyncAccountRepository(_databaseFactory); var listOfItems = AccountEntityHelper.CreateEfCoreTestAccounts(3); await repository.AddRangeAsync(listOfItems).ConfigureAwait(true); await efCoreAsyncUnitOfWork.CommitAsync().ConfigureAwait(true); //When var items = await repository.ExecuteQueryAsync <Account>("exec GetAccounts").ConfigureAwait(true); //Then EqualityHelper.AssertListsAreEqual(items.OrderBy(x => x.CompanyName).ToList(), listOfItems.OrderBy(x => x.CompanyName).ToList(), new[] { "AccountID", "LastModified", "LastModifiedBy", "Contacts" }); } }
public async Task GetAsyncItemsViaStoredProcedureWithParameterNotParameterisedTestAsync() { //Given using (var efCoreAsyncUnitOfWork = new EfCoreAsyncUnitOfWork <SharedLibraryContext>(_databaseFactory)) { var repository = new EfCoreAsyncAccountRepository(_databaseFactory); var reference = "TestReference"; var listOfItems = GetAsyncItemsWithTwoItemsContainingTestReference(reference); await repository.AddRangeAsync(listOfItems).ConfigureAwait(true); await efCoreAsyncUnitOfWork.CommitAsync().ConfigureAwait(true); //When var filter = new SqlParameter("@CompanyName", SqlDbType.VarChar) { Value = $"%{reference}%" }; var items = await repository.ExecuteQueryAsync <Account>("exec GetAccounts @CompanyName", filter).ConfigureAwait(true); //Then EqualityHelper.AssertListsAreEqual(items.OrderBy(x => x.CompanyName).ToList(), listOfItems.OrderBy(x => x.CompanyName).Take(2).ToList(), new[] { "AccountID", "LastModified", "LastModifiedBy", "Contacts" }); } }