public async Task GivenListAccountsHandler_WhenCallHandle_ShouldReturn() { // assign var query = new ListAccountsQuery { AccountStatusId = AccountStatusIds.Active, AccountNumber = "123213", Pagination = new PaginationRequest { PageSize = 1, PageNumber = 23 } }; var result = new PaginationResponse <Account> { TotalPageNumber = 100, Data = new List <Account>() }; _accountService.ListAccounts(query).Returns(result); // act var response = await _listAccountsHandler.Handle(query, CancellationToken.None); // assert response.ShouldNotBeNull(); response.ShouldBe(result); }
public async Task GivenAccountService_WhenCallListAccount_ShouldReturnAccounts() { // assign var request = new ListAccountsQuery { AccountStatusId = AccountStatusIds.Active, AccountNumber = "ZIP0111111111", Pagination = new PaginationRequest { PageSize = 100, PageNumber = 2 } }; var response = new PaginationResponse <Account> { TotalPageNumber = 10, Data = new List <Account>() }; _accountDataAccessor.ListAll(request.Pagination, request.AccountStatusId, request.AccountNumber) .Returns(response); // act var actualResponse = await _accountService.ListAccounts(request); // assert actualResponse.ShouldBe(response); }
public async Task ListAccountsQuery_returns_a_list_of_accounts_when_available() { //Arrange IEnumerable <ListAccountsResponse> response; using (var db = MockDbContext()) { db.Accounts.RemoveRange(db.Accounts); db.Accounts.Add(new Account { Id = Guid.NewGuid(), Name = "account1", Status = AccountStatus.Active }); db.Accounts.Add(new Account { Id = Guid.NewGuid(), Name = "account2", Status = AccountStatus.Active }); db.Accounts.Add(new Account { Id = Guid.NewGuid(), Name = "account3", Status = AccountStatus.Active }); db.SaveChanges(); } using (var db = MockDbContext()) { var request = new ListAccountsQuery(); var handler = new ListAccountsQueryHandler(db); //Act response = await handler.Handle(request, CancellationToken.None); } //Assert response.Count().Should().Be(3); }
public async Task <IActionResult> List() { var query = new ListAccountsQuery(); var response = await Mediator.Send(query); return(Ok(response)); }
public async Task <IEnumerable <ListAccountsResponse> > Handle(ListAccountsQuery request, CancellationToken cancellationToken) { var accounts = await _db.Accounts .Select(a => new ListAccountsResponse { Id = a.Id, UserId = a.UserId, Name = a.Name, Status = a.Status, Balance = a.Balance }) .ToListAsync(); if (accounts.Any()) { return(accounts); } else { return(new List <ListAccountsResponse>()); } }
public void GivenListAccountsValidator_WhenCallValidate_IfAccountNumberProvided_AndAccountNumberIsValid_ShouldSuccess(string accountNumber) { // assign var query = new ListAccountsQuery { AccountNumber = accountNumber, AccountStatusId = null, Pagination = new PaginationRequest { PageSize = 1, PageNumber = 1 } }; // act var result = _validator.TestValidate(query); // assert result.ShouldNotHaveValidationErrorFor(c => c.AccountNumber); }
public void GivenListAccountsValidator_WhenCallValidate_IfPaginationInvalid_ShouldFail(int pageNumber, int pageSize, string expectedResult) { // assign var query = new ListAccountsQuery { AccountNumber = string.Empty, AccountStatusId = null, Pagination = new PaginationRequest { PageSize = pageSize, PageNumber = pageNumber } }; // act var result = _validator.TestValidate(query); // assert result.ShouldHaveValidationErrorFor(c => c.Pagination) .WithErrorMessage(expectedResult); }
public async Task <PaginationResponse <Account> > Handle(ListAccountsQuery query, CancellationToken cancellationToken) { return(await _accountService.ListAccounts(query)); }
public async Task <PaginationResponse <Account> > ListAccounts(ListAccountsQuery request) { return(await _accountDataAccessor.ListAll(request.Pagination, request.AccountStatusId, request.AccountNumber)); }