Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }