public async Task CreateAccountGroup_WhenCalledWithInvalidModel_AssertPublishAsyncWasNotCalledOnCommandBus()
        {
            Controller sut = CreateSut(false);

            AccountGroupViewModel model = CreateModel();
            await sut.CreateAccountGroup(model);

            _commandBusMock.Verify(m => m.PublishAsync(It.IsAny <ICreateAccountGroupCommand>()), Times.Never);
        }
        public async Task CreateAccountGroup_WhenCalledWithValidModel_ReturnsRedirectToActionResultWhereActionNameIsEqualToAccountGroups()
        {
            Controller sut = CreateSut();

            AccountGroupViewModel  model  = CreateModel();
            RedirectToActionResult result = (RedirectToActionResult)await sut.CreateAccountGroup(model);

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

            AccountGroupViewModel model = CreateModel();
            await sut.CreateAccountGroup(model);

            _commandBusMock.Verify(m => m.PublishAsync(It.Is <ICreateAccountGroupCommand>(command => command.Number == model.Number && string.CompareOrdinal(command.Name, model.Name) == 0 && string.CompareOrdinal(Convert.ToString(command.AccountGroupType), Convert.ToString(model.AccountGroupType)) == 0)), Times.Once);
        }
        public async Task CreateAccountGroup_WhenCalledWithValidModel_ReturnsRedirectToActionResult()
        {
            Controller sut = CreateSut();

            AccountGroupViewModel model  = CreateModel();
            IActionResult         result = await sut.CreateAccountGroup(model);

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

            AccountGroupViewModel model  = CreateModel();
            ViewResult            result = (ViewResult)await sut.CreateAccountGroup(model);

            Assert.That(result.ViewName, Is.EqualTo("CreateAccountGroup"));
        }
Example #6
0
        public async Task UpdateAccountGroup_WhenCalledWithInvalidModel_ReturnsViewResult()
        {
            Controller sut = CreateSut(modelIsValid: false);

            AccountGroupViewModel model  = CreateModel();
            IActionResult         result = await sut.UpdateAccountGroup(model);

            Assert.That(result, Is.TypeOf <ViewResult>());
        }
Example #7
0
        public async Task UpdateAccount_WhenAccountViewModelIsValid_AssertPublishAsyncWasCalledOnCommandBusWithUpdateAccountCommandContainingAccountGroupNumberFromAccountViewModel()
        {
            Controller sut = CreateSut();

            int accountGroupNumber = _fixture.Create <int>();
            AccountGroupViewModel accountGroupViewModel = CreateAccountGroupViewModel(accountGroupNumber);
            AccountViewModel      accountViewModel      = CreateAccountViewModel(accountGroupViewModel: accountGroupViewModel);

            await sut.UpdateAccount(accountViewModel);

            _commandBusMock.Verify(m => m.PublishAsync(It.Is <IUpdateAccountCommand>(command => command != null && command.AccountGroupNumber == accountGroupNumber)), Times.Once);
        }
        public async Task CreateAccountGroup_WhenCalledWithInvalidModel_ReturnsViewResultWhereModelIsEqualToInvalidModel()
        {
            Controller sut = CreateSut(false);

            AccountGroupViewModel model  = CreateModel();
            ViewResult            result = (ViewResult)await sut.CreateAccountGroup(model);

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

            AccountGroupViewModel accountGroupViewModel = (AccountGroupViewModel)result.Model;

            Assert.That(accountGroupViewModel, Is.EqualTo(model));
        }
        public void CreateAccountGroup_WhenCalledWithoutModel_ReturnsViewResultWhereModelIsAccountGroupViewModel()
        {
            Controller sut = CreateSut();

            ViewResult result = (ViewResult)sut.CreateAccountGroup();

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

            AccountGroupViewModel accountGroupViewModel = (AccountGroupViewModel)result.Model;

            Assert.That(accountGroupViewModel, Is.Not.Null);
            Assert.That(accountGroupViewModel.Number, Is.EqualTo(default(int)));
            Assert.That(accountGroupViewModel.Name, Is.Null);
            Assert.That(accountGroupViewModel.AccountGroupType, Is.EqualTo(default(AccountGroupType)));
            Assert.That(accountGroupViewModel.EditMode, Is.EqualTo(EditMode.Create));
        }
Example #10
0
        public async Task UpdateAccountGroup_WhenCalledWithNumber_ReturnsViewResultWhereModelIsAccountGroupViewModel()
        {
            int    number = _fixture.Create <int>();
            string name   = _fixture.Create <string>();

            Domain.Interfaces.Accounting.Enums.AccountGroupType accountGroupType = _fixture.Create <Domain.Interfaces.Accounting.Enums.AccountGroupType>();
            IAccountGroup accountGroup = _fixture.BuildAccountGroupMock(number, name, accountGroupType).Object;
            Controller    sut          = CreateSut(accountGroup);

            ViewResult result = (ViewResult)await sut.UpdateAccountGroup(_fixture.Create <int>());

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

            AccountGroupViewModel accountGroupViewModel = (AccountGroupViewModel)result.Model;

            Assert.That(accountGroupViewModel, Is.Not.Null);
            Assert.That(accountGroupViewModel.Number, Is.EqualTo(number));
            Assert.That(accountGroupViewModel.Name, Is.EqualTo(name));
            Assert.That(Convert.ToString(accountGroupViewModel.AccountGroupType), Is.EqualTo(Convert.ToString(accountGroupType)));
            Assert.That(accountGroupViewModel.EditMode, Is.EqualTo(EditMode.Edit));
        }
Example #11
0
 private AccountViewModel CreateAccountViewModel(AccountingIdentificationViewModel accountingIdentificationViewModel = null, string accountNumber = null, string accountName = null, bool hasDescription = true, string description = null, bool hasNote = true, string note = null, AccountGroupViewModel accountGroupViewModel = null, CreditInfoDictionaryViewModel creditInfoDictionaryViewModel = null)
 {
     return(_fixture.Build <AccountViewModel>()
            .With(m => m.Accounting, accountingIdentificationViewModel ?? CreateAccountingIdentificationViewModel())
            .With(m => m.AccountNumber, accountNumber ?? _fixture.Create <string>())
            .With(m => m.AccountName, accountName ?? _fixture.Create <string>())
            .With(m => m.Description, hasDescription ? description ?? _fixture.Create <string>() : null)
            .With(m => m.Note, hasNote ? note ?? _fixture.Create <string>() : null)
            .With(m => m.AccountGroup, accountGroupViewModel ?? CreateAccountGroupViewModel())
            .With(m => m.CreditInfos, creditInfoDictionaryViewModel ?? CreateCreditInfoDictionaryViewModel())
            .Create());
 }
Example #12
0
 public ActionResult SaveAccountGroup([FromBody] AccountGroupViewModel model)
 {
     _objAccountGroup.Model = model;
     ViewBag._Result        = _objAccountGroup.SaveAccountGroup();
     return(PartialView("Result"));
 }