public async Task SendRequestCep_WhenCepIsNull_MustReturnCepRequiredError()
        {
            //Given
            IViaCepClient viaCepClient = CreateViaCepClientInstance();

            //When
            ResponseMessage <CepDetails> response = await viaCepClient.SendRequestAsync(null);

            //Then
            response.Should().NotBeNull();
            response.IsSuccessfulResponse.Should().BeFalse();
            response.Content.Should().BeNull();
            response.ErrorCode.Should().Be(ErrorCodes.CepRequired);
        }
        public async Task SendRequestCep_WhenCepNotFound_MustReturnNotFoundError()
        {
            // Given
            IViaCepClient viaCepClient = CreateViaCepClientInstance();
            Cep           notFoundCep  = new Cep("00000000");

            // When
            ResponseMessage <CepDetails> response = await viaCepClient.SendRequestAsync(notFoundCep);

            // Then
            response.Should().NotBeNull();
            response.IsSuccessfulResponse.Should().BeFalse();
            response.Content.Should().BeNull();

            response.ErrorCode.Should().Be(ErrorCodes.ResourceNotFound);
        }
Example #3
0
        private static async Task CallViaCepClientFromDI(string cep)
        {
            using ServiceProvider serviceProvider = new ServiceCollection()
                                                    .AddViaCepClient(opt => opt.SetBaseAddress("http://viacep.com.br"))
                                                    .BuildServiceProvider();

            IViaCepClient viaCepClient = serviceProvider.GetRequiredService <IViaCepClient>();

            ResponseMessage <CepDetails> response = await viaCepClient.SendRequestAsync(new Cep(cep));

            CepDetails cepDetails = response.Content;

            string json = JsonSerializer.Serialize(cepDetails, new JsonSerializerOptions
            {
                WriteIndented = true,
                Encoder       = JavaScriptEncoder.UnsafeRelaxedJsonEscaping
            });

            Console.WriteLine(json);
        }
        public async Task SendRequestCep_WhenCepFound_MustReturnCepDetails()
        {
            // Given
            IViaCepClient viaCepClient = CreateViaCepClientInstance();

            string cep            = "01001000";
            string address        = "Praça da Sé";
            string complement     = "lado ímpar";
            string neighbourhood  = "Sé";
            string city           = "São Paulo";
            string federativeUnit = "SP";
            string ibge           = "3550308";
            string gia            = "1004";
            string ddd            = "11";
            string siafi          = "7107";

            Cep validCep = new Cep(cep);

            // When
            ResponseMessage <CepDetails> response = await viaCepClient.SendRequestAsync(validCep);

            // Then
            response.Should().NotBeNull();
            response.IsSuccessfulResponse.Should().BeTrue();
            response.Content.Should().NotBeNull();

            response.ErrorCode.Should().BeNullOrEmpty();
            response.ErrorMessage.Should().BeNullOrEmpty();
            response.ErrorPropertyName.Should().BeNullOrEmpty();

            response.Content.Address.Should().Be(address);
            response.Content.Cep.Should().Be(cep);
            response.Content.City.Should().Be(city);
            response.Content.Complement.Should().Be(complement);
            response.Content.DDD.Should().Be(ddd);
            response.Content.FederativeUnit.Should().Be(federativeUnit);
            response.Content.GIA.Should().Be(gia);
            response.Content.IBGE.Should().Be(ibge);
            response.Content.Neighbourhood.Should().Be(neighbourhood);
            response.Content.Siafi.Should().Be(siafi);
        }
        public async Task SendRequestCep_WhenCepIsInvalid_MustReturnValidationError(string cep)
        {
            //Given
            IViaCepClient viaCepClient = CreateViaCepClientInstance();

            Cep invalidCep = new Cep(cep);

            invalidCep.Validate();

            IError error = invalidCep.GetValidationErrors().First();

            //When
            ResponseMessage <CepDetails> response = await viaCepClient.SendRequestAsync(invalidCep);

            //Then
            response.Should().NotBeNull();
            response.IsSuccessfulResponse.Should().BeFalse();
            response.Content.Should().BeNull();

            response.ErrorCode.Should().Be(error.ErrorCode);
            response.ErrorMessage.Should().Be(error.ErrorMessage);
            response.ErrorPropertyName.Should().Be(error.PropertyName);
        }
Example #6
0
        public HomeController(ILogger <HomeController> logger,
                              IHttpContextAccessor httpContext,
                              ISharedCultureLocalizer loc,
                              UpFirstDbContext dbContext,
                              UserManager <ApplicationUser> userManager,
                              IViaCepClient viaCepClient,
                              IConfiguration configuration,
                              IEmailSender emailSender)
        {
            Configuration = configuration;
            _logger       = logger;
            _loc          = loc;
            _dbContext    = dbContext;
            _userManager  = userManager;
            _viaCepClient = viaCepClient;
            _httpContext  = httpContext;
            _emailSender  = emailSender;
            culture       = System.Globalization.CultureInfo.CurrentCulture.Name;

            if (SDK.AccessToken == null)
            {
                SDK.AccessToken = Configuration.GetSection("MercadoPago").GetSection("AccessToken").Value;
            }
        }