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

            IActionResult result = await sut.DeleteBudgetAccountGroup(_fixture.Create <int>());

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

            RedirectToActionResult result = (RedirectToActionResult)await sut.DeleteBudgetAccountGroup(_fixture.Create <int>());

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

            int number = _fixture.Create <int>();
            await sut.DeleteBudgetAccountGroup(number);

            _commandBusMock.Verify(m => m.PublishAsync(It.Is <IDeleteBudgetAccountGroupCommand>(value => value.Number == number)), Times.Once);
        }