/// <summary> /// Gets the <see cref="EditAddressViewModel"/> to display the edit address From or Form result /// </summary> /// <param name="param">Builder params <see cref="GetEditAddressViewModelParam"/></param> /// <returns></returns> protected virtual async Task <EditAddressViewModel> GetEditAddressViewModel(GetEditAddressViewModelParam param) { if (param == null) { throw new ArgumentNullException("param"); } if (param.CultureInfo == null) { throw new ArgumentException("param.CultureInfo"); } var countryParam = new RetrieveCountryParam { CultureInfo = param.CultureInfo ?? ComposerContext.CultureInfo, IsoCode = ComposerContext.CountryCode }; var viewModel = ViewModelMapper.MapTo <EditAddressViewModel>(param.Address, param.CultureInfo) ?? new EditAddressViewModel(); viewModel.Status = param.Status.HasValue ? param.Status.Value.ToString() : string.Empty; viewModel.ReturnUrl = param.ReturnUrl; viewModel.IsUpdating = param.Address != null && param.IsUpdating; var country = await CountryService.RetrieveCountryAsync(countryParam).ConfigureAwait(false); if (country != null) { viewModel.PostalCodeRegex = country.PostalCodeRegex; viewModel.PhoneRegex = country.PhoneRegex; } return(viewModel); }
public void WHEN_CultureInfo_Is_Null_SHOULD_Throw_ArgumentException() { var param = new RetrieveCountryParam { IsoCode = GetRandom.String(32), }; // Act var exception = Assert.ThrowsAsync <ArgumentException>(() => _repository.RetrieveRegions(param)); //Assert exception.ParamName.Should().BeSameAs("param"); exception.Message.Should().Contain("CultureInfo"); }
public async Task WHEN_Passing_Valid_Parameters_SHOULD_Succeed() { var param = new RetrieveCountryParam { IsoCode = GetRandom.String(32), CultureInfo = TestingExtensions.GetRandomCulture() }; // Act var result = await _repository.RetrieveRegions(param).ConfigureAwait(false); // Assert result.Should().NotBeNull(); }
public void WHEN_IsoCode_Is_NullOrWhitespace_SHOULD_Throw_ArgumentException(string isoCode) { var param = new RetrieveCountryParam { IsoCode = isoCode, CultureInfo = TestingExtensions.GetRandomCulture() }; // Act var exception = Assert.ThrowsAsync <ArgumentException>(() => _repository.RetrieveRegions(param)); //Assert exception.ParamName.Should().BeSameAs("param"); exception.Message.Should().Contain("IsoCode"); }
public void WHEN_CultureInfo_Is_Null_SHOULD_Throw_ArgumentException() { // Arrange _container.Use(ViewModelMapperFactory.Create()); _container.Use(CountryRepositoryFactory.Create()); var service = _container.CreateInstance <CountryService>(); var param = new RetrieveCountryParam { IsoCode = GetRandom.String(32), }; // Act var exception = Assert.ThrowsAsync <ArgumentException>(() => service.RetrieveRegionsAsync(param)); //Assert exception.ParamName.Should().BeSameAs("param"); }
public void WHEN_IsoCode_Is_NullOrWhitespace_SHOULD_Throw_ArgumentException(string isoCode) { //Arrange _container.Use(ViewModelMapperFactory.Create()); _container.Use(CountryRepositoryFactory.Create()); var service = _container.CreateInstance <CountryService>(); var param = new RetrieveCountryParam { IsoCode = isoCode, CultureInfo = TestingExtensions.GetRandomCulture() }; // Act var exception = Assert.ThrowsAsync <ArgumentException>(() => service.RetrieveRegionsAsync(param)); //Assert exception.ParamName.Should().BeSameAs("param"); }