public async Task UpdateSuccessItemTestAsync() { //Given Account testAccount; var repository = new EfCoreAsyncAccountRepository(_databaseFactory); using (var efCoreAsyncUnitOfWork = new EfCoreAsyncUnitOfWork <SharedLibraryContext>(_databaseFactory)) { testAccount = await repository.SaveAsync(AccountEntityHelper.CreateEfTestAccount()).ConfigureAwait(true); await efCoreAsyncUnitOfWork.CommitAsync().ConfigureAwait(true); //When testAccount.CompanyName = "Updated account"; await repository.SaveAsync(testAccount).ConfigureAwait(true); await efCoreAsyncUnitOfWork.CommitAsync().ConfigureAwait(true); } //Then var finalRepo = new EfCoreAsyncAccountRepository(_databaseFactory); var itemToCheck = await finalRepo.GetByIdAsync(testAccount.AccountId).ConfigureAwait(true); EqualityHelper.PropertyValuesAreEqual(itemToCheck, testAccount, new[] { "LastModified", "Contact" }); }
public async Task GetAsyncByIdAsyncExceptionTestAsync() { //Given var repository = new EfCoreAsyncAccountRepository(_databaseFactory); //When var shouldBeNull = await repository.GetByIdAsync(-1).ConfigureAwait(true); //Then Assert.IsNull(shouldBeNull, "The item was found when it should have never existed."); }
public async Task RetrieveItemByIdTestAsync() { //Given var repository = new EfCoreAsyncAccountRepository(_databaseFactory); using (var efCoreAsyncUnitOfWork = new EfCoreAsyncUnitOfWork <SharedLibraryContext>(_databaseFactory)) { var addedAccount = await repository.SaveAsync(AccountEntityHelper.CreateEfTestAccount()).ConfigureAwait(true); await efCoreAsyncUnitOfWork.CommitAsync().ConfigureAwait(true); //When var retrievedItem = await repository.GetByIdAsync(addedAccount.AccountId).ConfigureAwait(true); //Then EqualityHelper.PropertyValuesAreEqual(retrievedItem, addedAccount); } }
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."); } }