public async Task ShouldBeAbleToInsertSelectAndDeleteAccount() { var login = new Login { Email = $"{Guid.NewGuid().ToString()}@mailinator.com", PasswordHash = Guid.NewGuid().ToString() }; var returnedLogin = await Db.InsertLogin(connectionString, login); var account = new Account { LoginId = returnedLogin.LoginId, AccountName = Guid.NewGuid().ToString() }; var returnedAccount = await Db.InsertAccount(connectionString, account); Assert.Equal(account.LoginId, returnedAccount.LoginId); Assert.Equal(account.AccountName, returnedAccount.AccountName); Assert.True(returnedAccount.AccountId > 0); { var accounts = await Db.AccountByLogin(connectionString, returnedLogin); Assert.Collection(accounts, x => Assert.Equal(returnedAccount.AccountId, x.AccountId)); } { var singleAccount = await Db.AccountById(connectionString, returnedAccount.AccountId); Assert.True(singleAccount.HasValue); Assert.Equal(returnedAccount.AccountId, singleAccount.Value.AccountId); } await Db.DeleteAccount(connectionString, returnedAccount); { var accounts = await Db.AccountByLogin(connectionString, returnedLogin); Assert.Empty(accounts); } }