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

            ActionResult <IEnumerable <BudgetAccountGroupModel> > result = await sut.BudgetAccountGroupsAsync();

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

            await sut.BudgetAccountGroupsAsync();

            _queryBusMock.Verify(m => m.QueryAsync <EmptyQuery, IEnumerable <IBudgetAccountGroup> >(It.IsNotNull <EmptyQuery>()), Times.Once);
        }
        public async Task BudgetAccountGroupsAsync_WhenCalled_AssertOkObjectResultContainsBudgetAccountGroups()
        {
            IList <IBudgetAccountGroup> budgetAccountGroupMockCollection = _fixture.CreateMany <IBudgetAccountGroup>(_random.Next(5, 10)).ToList();
            Controller sut = CreateSut(budgetAccountGroupMockCollection);

            OkObjectResult result = (OkObjectResult)(await sut.BudgetAccountGroupsAsync()).Result;

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

            IList <BudgetAccountGroupModel> budgetAccountGroupModels = ((IEnumerable <BudgetAccountGroupModel>)result.Value).ToList();

            Assert.That(budgetAccountGroupModels, Is.Not.Null);
            Assert.That(budgetAccountGroupModels, Is.Not.Empty);
            Assert.That(budgetAccountGroupModels.Count, Is.EqualTo(budgetAccountGroupMockCollection.Count));
        }