public async Task DeleteAsyncWithWhereClauseSuccessTestAsync() { //Given using (var efCoreAsyncUnitOfWork = new EfCoreAsyncUnitOfWork <SharedLibraryContext>(_databaseFactory)) { var repository = new EfCoreAsyncAccountRepository(_databaseFactory); var listOfItems = AccountEntityHelper.CreateEfCoreTestAccounts(3); var originalItems = await repository.GetAllAsync().ConfigureAwait(true); await repository.AddRangeAsync(listOfItems).ConfigureAwait(true); var allNewItems = await repository.GetAllAsync().ConfigureAwait(true); var newItems = allNewItems as IList <Account> ?? allNewItems.ToList(); var itemsAdded = newItems.Except(originalItems).ToList(); //When var idsToDeleteAsync = itemsAdded.Select(x => x.AccountId); await repository.DeleteAsync(x => idsToDeleteAsync.Contains(x.AccountId)).ConfigureAwait(true); await efCoreAsyncUnitOfWork.CommitAsync().ConfigureAwait(true); var allItems = await repository.GetAllAsync().ConfigureAwait(true); //Then Assert.AreEqual(0, allItems.Except(newItems).Count(), "The items have not been DeleteAsyncd."); } }
public async Task DeleteAsyncItemSuccessTestAsync() { //Given using (var efCoreAsyncUnitOfWork = new EfCoreAsyncUnitOfWork <SharedLibraryContext>(_databaseFactory)) { //Given var repository = new EfCoreAsyncAccountRepository(_databaseFactory); var testAccount = await repository.SaveAsync(AccountEntityHelper.CreateEfTestAccount()).ConfigureAwait(true); await efCoreAsyncUnitOfWork.CommitAsync().ConfigureAwait(true); //When await repository.DeleteAsync(testAccount).ConfigureAwait(true); await efCoreAsyncUnitOfWork.CommitAsync().ConfigureAwait(true); //Then var retrievedAccount = await repository.GetByIdAsync(testAccount.AccountId).ConfigureAwait(true); Assert.IsNull(retrievedAccount, "The account was not DeleteAsyncd."); } }