Ejemplo n.º 1
0
 public async Task <ErpQuoteDto> GetQuote(ErpQuoteDto erpQuoteDto)
 {
     return(new ErpQuoteDto
     {
         SkuId = erpQuoteDto.SkuId,
         Price = int.Parse(erpQuoteDto.SkuId) * 10,
     });
 }
Ejemplo n.º 2
0
 public static QuoteDto BuildFrom(ErpQuoteDto erpQuoteDto)
 {
     return(new QuoteDto
     {
         SkuId = erpQuoteDto.SkuId,
         Price = erpQuoteDto.Price,
     });
 }
Ejemplo n.º 3
0
        public void GetPrice_InputValid_ReturnQuote()
        {
            var quote = new ErpQuoteDto()
            {
                SkuId = "SKU_ID"
            };

            _erpServiceMock.Setup(x => x.GetQuote(It.IsAny <ErpQuoteDto>())).ReturnsAsync(quote);

            var ret = _priceService.GetQuote(new QuoteDto()).Result;

            ret.Should().BeEquivalentTo(new QuoteDto()
            {
                SkuId = "SKU_ID"
            });
        }
Ejemplo n.º 4
0
        public async Task <ErpQuoteDto> GetQuote(ErpQuoteDto erpQuoteDto)
        {
            var body = JsonConvert.SerializeObject(erpQuoteDto);

            using var responseMessage =
                      await _requestProvider.SendAsync(Constants.ErpPricesUrl, HttpMethod.Post, null, body);

            if (!_requestProvider.IsSuccess(responseMessage))
            {
                throw new InvalidHttpResponseException("Error trying to quote price from the ERP service.",
                                                       responseMessage.StatusCode);
            }
            var stream = await responseMessage.Content.ReadAsStreamAsync();

            return(await _requestProvider.ReadJsonStream <ErpQuoteDto>(stream));
        }