public async Task <BaseResponse <List <StockResponse> > > Handle(GetTrendStocksQuery request, CancellationToken cancellationToken) { var trends = await _repository.GetTrends(); var result = new List <StockResponse>(); foreach (var stock in trends) { // Poderia usar dto/map e fazer a conversão automatica. result.Add(new StockResponse { Symbol = stock.Symbol, CurrentPrice = stock.CurrentPrice }); } var response = new BaseResponse <List <StockResponse> >(result); return(response); }
public async Task GetTrends_WithSuccess() { var repository = new Mock <IStockRepository>(); var request = new GetTrendStocksQuery(); var query = new GetTrendStocksQueryHandler(repository.Object); var response = new List <Stock>() { new Stock() { Symbol = "a" }, new Stock() { Symbol = "b" } }; repository.Setup(r => r.GetTrends()).ReturnsAsync(response); var result = await query.Handle(request, new CancellationToken()); Assert.Equal(response.Count, result.Data.Count); }