public async Task DeveRetornarInvestimentosSemCache()
        {
            var mockHttpMessageHandler = new Mock <HttpMessageHandler>();

            mockHttpMessageHandler.Protected()
            .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>())
            .ReturnsAsync(new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(JsonConvert.SerializeObject(new TesouroDiretoServiceResponse()
                {
                    Investments = new List <TesouroDiretoServiceResponseItem>()
                    {
                        new TesouroDiretoServiceResponseItem()
                    }
                })),
            });



            var client = new HttpClient(mockHttpMessageHandler.Object);

            _httpClientFactory.Setup(_ => _.CreateClient(It.IsAny <string>())).Returns(client);

            TesouroDiretoService service = new TesouroDiretoService(_config, _mapper, _cache.Object, _httpClientFactory.Object);

            var result = await service.GetInvestments();

            Assert.IsTrue(result.Count == 1);
        }
Esempio n. 2
0
 public InvestimentosController(
     TesouroDiretoService tesouroDiretoService,
     RendaFixaService rendaFixaService,
     FundosService fundosService,
     IOptions <BasesCalculoConfig> basesCalculoConfig,
     IDistributedCache cache)
 {
     this.tesouroDiretoService = tesouroDiretoService;
     this.rendaFixaService     = rendaFixaService;
     this.fundosService        = fundosService;
     this.basesCalculoConfig   = basesCalculoConfig;
     this.cache = cache;
 }
        public async Task DeveRetornarInvestimentosComCache()
        {
            object expectedValue = new List <InvestmentDTO>()
            {
                new InvestmentDTO()
            };

            _cache.Setup(method => method.TryGetValue(It.IsAny <object>(), out expectedValue)).Returns(true);

            TesouroDiretoService service = new TesouroDiretoService(_config, _mapper, _cache.Object, _httpClientFactory.Object);

            var result = await service.GetInvestments();

            Assert.IsTrue(result.Count == 1);
        }
Esempio n. 4
0
        public TesouroDiretoService GetService()
        {
            if (_service is null)
            {
                Mocker.Use <HttpClient>(new HttpClient());
                Mocker.Use <IOptions <ApplicationOptions> >(Options.Create(new ApplicationOptions
                {
                    BaseAddress           = "http://www.mocky.io",
                    TesouroDiretoEndpoint = "5e3428203000006b00d9632a"
                }));

                _service = Mocker.CreateInstance <TesouroDiretoService>();
            }

            return(_service);
        }
        private TesouroDiretoService GetTesouroDiretoServiceTest()
        {
            var tesouroDiretoService = new TesouroDiretoService(
                Mock.Of <ITesouroDiretoRepository>());


            var tesouroDireto = new TesouroDireto()
            {
                IdTesouro      = 10,
                DataAplicacao  = DateTime.Now,
                DataVencimento = DateTime.Now.AddYears(5),
                Nome           = "Tesouro Direto Prexiado 2026"
            };

            return(tesouroDiretoService);
        }
        public async Task DeveRetornarExceptionAoNaoConseguirChamarOServicoExterno()
        {
            var mockHttpMessageHandler = new Mock <HttpMessageHandler>();

            mockHttpMessageHandler.Protected()
            .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>())
            .ReturnsAsync(new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.InternalServerError,
            });



            var client = new HttpClient(mockHttpMessageHandler.Object);

            _httpClientFactory.Setup(_ => _.CreateClient(It.IsAny <string>())).Returns(client);

            TesouroDiretoService service = new TesouroDiretoService(_config, _mapper, _cache.Object, _httpClientFactory.Object);

            var result = await service.GetInvestments();
        }
        public async Task DeveRetornarListaVaziaAoTomarNotFound()
        {
            var mockHttpMessageHandler = new Mock <HttpMessageHandler>();

            mockHttpMessageHandler.Protected()
            .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>())
            .ReturnsAsync(new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.NotFound,
            });



            var client = new HttpClient(mockHttpMessageHandler.Object);

            _httpClientFactory.Setup(_ => _.CreateClient(It.IsAny <string>())).Returns(client);

            TesouroDiretoService service = new TesouroDiretoService(_config, _mapper, _cache.Object, _httpClientFactory.Object);

            var result = await service.GetInvestments();

            Assert.IsTrue(result.Count == 0);
        }
Esempio n. 8
0
 public void Setup()
 {
     _configuration = new Mock <IConfiguration>();
     _configuration.Setup(x => x["TesouroDiretoUrl"]).Returns(ServiceUrl);
     _tesouroDiretoService = new TesouroDiretoService(_configuration.Object);
 }