예제 #1
0
        public async Task ThenTheAccountDataIsRetrievedAndSaved()
        {
            var expectedAccount = new AccountDetailViewModelBuilder().Build();
            var accountHref     = $"/api/accounts/{expectedAccount.HashedAccountId}";

            _accountGateway.Setup(x => x.GetAccount(accountHref)).ReturnsAsync(expectedAccount);

            await _commandHandler.Handle(new RenameAccountCommand { AccountHref = accountHref });

            _accountRepository.Verify(x => x.SaveAccount(expectedAccount), Times.Once);
        }
예제 #2
0
        public async Task ThenTheAccountDataIsRetrievedAndSaved()
        {
            var expectedAccount = new AccountDetailViewModelBuilder().Build();
            var accountHref     = $"/api/accounts/{expectedAccount.HashedAccountId}";

            _accountGateway.Setup(x => x.GetAccount(accountHref)).ReturnsAsync(expectedAccount);

            await _commandHandler.Handle(new CreateAccountCommand { AccountHref = accountHref });

            _accountRepository.Verify(x => x.SaveAccount(expectedAccount), Times.Once);
            _mediator.Verify(x => x.PublishAsync(It.Is <CreateLegalEntityCommand>(c => c.LegalEntityHref == expectedAccount.LegalEntities[0].Href)), Times.Once);
            _mediator.Verify(x => x.PublishAsync(It.Is <CreatePayeSchemeCommand>(c => c.PayeSchemeHref == expectedAccount.PayeSchemes[0].Href)), Times.Once);
        }
예제 #3
0
        public async Task ThenTheAccountDetailsAreReturned()
        {
            var expectedAccountInformation = new AccountDetailViewModelBuilder().Build();

            var accountHref = $"/api/accounts/2385";

            AccountApiClient.Setup(x => x.GetResource <AccountDetailViewModel>(accountHref)).ReturnsAsync(expectedAccountInformation);

            var result = await AccountGateway.GetAccount(accountHref);

            result.Should().Be(expectedAccountInformation);
            AccountApiClient.Verify(x => x.GetResource <AccountDetailViewModel>(accountHref), Times.Once);
        }