public async Task OnAddCityAsyncWithPostalCodeDown() { var postalCodeResponse = Builder <PostalCodeDto> .CreateNew() .With(p => p.HasFailed, true) .Build(); PostalCodeService.GetCityNameByPostalCodeAsync(Arg.Any <string>()).Returns(postalCodeResponse); var result = await CityService.AddCityAsync("22743-011"); result.Success.Should().BeFalse(); }
public async Task <AddCityResponseDto> AddCityAsync(string postalCode) { var regex = new Regex(@"^\d{5}-\d{3}$"); if (!regex.IsMatch(postalCode)) { return new AddCityResponseDto { Success = false, Message = "Invalid postal code." } } ; var city = await CityRepository.GetByPostalCodeAsync(postalCode); if (city != null) { return new AddCityResponseDto { Success = false, Message = "Postal code already added." } } ; var postalCodeResponse = await PostalCodeService.GetCityNameByPostalCodeAsync(postalCode); if (postalCodeResponse.HasFailed) { return new AddCityResponseDto { Success = false, Message = "Failed on try get city name." } } ; city = new City(postalCodeResponse.CityName, postalCode); await CityRepository.AddAsync(city); return(new AddCityResponseDto { Data = new CityDto { Key = city.Key.ToString(), Name = city.Name, PostalCode = city.PostalCode, CreatedOn = city.CreatedOn.ToString("s") }, Success = true }); }
public async Task OnAddCityAsync() { var postalCodeResponse = Builder <PostalCodeDto> .CreateNew() .With(p => p.HasFailed, false) .With(p => p.CityName, Faker.Address.City()) .With(p => p.PostalCode, Faker.Address.ZipCode()) .Build(); PostalCodeService.GetCityNameByPostalCodeAsync(Arg.Any <string>()).Returns(postalCodeResponse); CityRepository.AddAsync(Arg.Any <City>()).Returns(Task.CompletedTask); var result = await CityService.AddCityAsync("22743-011"); result.Success.Should().BeTrue(); result.Data.Should().NotBeNull(); result.Data.CreatedOn.Should().HaveLength(19); }