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

            IActionResult result = await sut.BudgetAccountGroups();

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

            ViewResult result = (ViewResult)await sut.BudgetAccountGroups();

            Assert.That(result.ViewName, Is.EqualTo("BudgetAccountGroups"));
        }
        public async Task BudgetAccountGroups_WhenCalled_AssertQueryAsyncWasCalledOnQueryBus()
        {
            Controller sut = CreateSut();

            await sut.BudgetAccountGroups();

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

            ViewResult result = (ViewResult)await sut.BudgetAccountGroups();

            Assert.That(result.Model, Is.TypeOf <List <BudgetAccountGroupViewModel> >());

            List <BudgetAccountGroupViewModel> budgetAccountGroupViewModelCollection = ((List <BudgetAccountGroupViewModel>)result.Model);

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