public void QueryAsync_WhenQueryIsNull_ThrowsArgumentNullException() { QueryHandler sut = CreateSut(); ArgumentNullException result = Assert.ThrowsAsync <ArgumentNullException>(async() => await sut.QueryAsync(null)); Assert.That(result.ParamName, Is.EqualTo("query")); }
public async Task QueryAsync_WhenCalled_AssertStatusDateWasCalledOnGetBudgetAccountQuery() { QueryHandler sut = CreateSut(); Mock <IGetBudgetAccountQuery> queryMock = CreateQueryMock(); await sut.QueryAsync(queryMock.Object); queryMock.Verify(m => m.StatusDate, Times.Exactly(2)); }
public async Task QueryAsync_WhenCalled_AssertAccountNumberWasCalledOnGetBudgetAccountQuery() { QueryHandler sut = CreateSut(); Mock <IGetBudgetAccountQuery> queryMock = CreateQueryMock(); await sut.QueryAsync(queryMock.Object); queryMock.Verify(m => m.AccountNumber, Times.Once); }
public async Task QueryAsync_WhenNoBudgetAccountWasReturnedFromAccountingRepository_ReturnsNull() { QueryHandler sut = CreateSut(false); IGetBudgetAccountQuery query = CreateQuery(); IBudgetAccount result = await sut.QueryAsync(query); Assert.That(result, Is.Null); }
public async Task QueryAsync_WhenBudgetAccountWasReturnedFromAccountingRepository_ReturnsCalculatedBudgetAccount() { IBudgetAccount calculatedBudgetAccount = _fixture.BuildBudgetAccountMock().Object; IBudgetAccount budgetAccount = _fixture.BuildBudgetAccountMock(calculatedBudgetAccount: calculatedBudgetAccount).Object; QueryHandler sut = CreateSut(budgetAccount: budgetAccount); IGetBudgetAccountQuery query = CreateQuery(); IBudgetAccount result = await sut.QueryAsync(query); Assert.That(result, Is.EqualTo(calculatedBudgetAccount)); }
public async Task QueryAsync_WhenCalled_AssertGetBudgetAccountAsyncWasCalledOnAccountingRepository() { QueryHandler sut = CreateSut(); int accountingNumber = _fixture.Create <int>(); string accountNumber = _fixture.Create <string>().ToUpper(); DateTime statusDate = _fixture.Create <DateTime>().Date; IGetBudgetAccountQuery query = CreateQuery(accountingNumber, accountNumber, statusDate); await sut.QueryAsync(query); _accountingRepositoryMock.Verify(m => m.GetBudgetAccountAsync( It.Is <int>(value => value == accountingNumber), It.Is <string>(value => string.CompareOrdinal(value, accountNumber) == 0), It.Is <DateTime>(value => value == statusDate)), Times.Once); }