public async Task AccountingAsync_WhenCalled_ReturnsOkObjectResult()
        {
            Controller sut = CreateSut();

            ActionResult <AccountingModel> result = await sut.AccountingAsync(_fixture.Create <int>());

            Assert.That(result.Result, Is.TypeOf <OkObjectResult>());
        }
        public async Task AccountingAsync_WhenCalledWithoutStatusDate_AssertQueryAsyncWasCalledOnQueryBus()
        {
            Controller sut = CreateSut();

            int accountingNumber = _fixture.Create <int>();
            await sut.AccountingAsync(accountingNumber);

            _queryBusMock.Verify(m => m.QueryAsync <IGetAccountingQuery, IAccounting>(It.Is <IGetAccountingQuery>(value => value.AccountingNumber == accountingNumber && value.StatusDate == DateTime.Today)), Times.Once);
        }
        public async Task AccountingAsync_WhenCalledWithStatusDate_AssertQueryAsyncWasCalledOnQueryBus()
        {
            Controller sut = CreateSut();

            int      accountingNumber = _fixture.Create <int>();
            DateTime statusDate       = DateTime.Now.AddDays(_random.Next(1, 365) * -1);
            await sut.AccountingAsync(accountingNumber, statusDate);

            _queryBusMock.Verify(m => m.QueryAsync <IGetAccountingQuery, IAccounting>(It.Is <IGetAccountingQuery>(value => value.AccountingNumber == accountingNumber && value.StatusDate == statusDate.Date)), Times.Once);
        }
        public async Task AccountingAsync_WhenCalled_AssertOkObjectResultContainsAccounting()
        {
            IAccounting accountingMock = _fixture.BuildAccountingMock().Object;
            Controller  sut            = CreateSut(accountingMock);

            OkObjectResult result = (OkObjectResult)(await sut.AccountingAsync(_fixture.Create <int>())).Result;

            Assert.That(result.Value, Is.Not.Null);

            AccountingModel accountingModel = (AccountingModel)result.Value;

            Assert.That(accountingModel, Is.Not.Null);
            Assert.That(accountingModel.Number, Is.EqualTo(accountingMock.Number));
            Assert.That(accountingModel.Name, Is.EqualTo(accountingMock.Name));
        }