Unverified Commit dc79eb54 authored by Benjamin Wheeler's avatar Benjamin Wheeler Committed by GitHub

Merge pull request #3974 from benjiwheeler/move-to-country-data-lib

move country name lookup to library
parents 7b76c195 d388eef5
......@@ -456,7 +456,7 @@ class DemographicsStep extends React.Component {
// look up country name using user's country code selection ('us' -> 'United States')
getCountryName (values) {
if (values.countryCode) {
const countryInfo = countryData.lookupCountryInfo(values.countryCode);
const countryInfo = countryData.lookupCountryByCode(values.countryCode);
if (countryInfo) {
return countryInfo.name;
}
......@@ -466,7 +466,7 @@ class DemographicsStep extends React.Component {
// look up country code from country label ('United States' -> 'us')
// if `countryName` is not found, including if it's null or undefined, then this function will return undefined.
getCountryCode (countryName) {
const country = countryData.countryInfo.find(countryItem => countryItem.name === countryName);
const country = countryData.lookupCountryByName(countryName);
return country && country.code;
}
handleValidSubmit (formData) {
......
......@@ -1036,10 +1036,14 @@ const countryOptions = module.exports.countryOptions = (startingCountryInfo, val
))
);
module.exports.lookupCountryInfo = countryCode => (
module.exports.lookupCountryByCode = countryCode => (
countryInfo.find(country => country.code === countryCode)
);
module.exports.lookupCountryByName = countryName => (
countryInfo.find(country => country.name === countryName)
);
/**
* Function dupeCommonCountries():
* takes startingCountryInfo, and duplicates any number of its country labels
......
const {
countryInfo,
countryOptions,
lookupCountryInfo,
lookupCountryByCode,
lookupCountryByName,
dupeCommonCountries,
registrationCountryCodeOptions,
registrationCountryNameOptions,
......@@ -45,9 +46,17 @@ describe('unit test lib/country-data.js', () => {
expect(szInfo.label).toEqual('Eswatini');
});
test('lookupCountryInfo() will find country info', () => {
expect(typeof lookupCountryInfo).toBe('function');
const eswatiniInfo = lookupCountryInfo('sz');
test('lookupCountryByCode() will find country info', () => {
expect(typeof lookupCountryByCode).toBe('function');
const eswatiniInfo = lookupCountryByCode('sz');
expect(eswatiniInfo.name).toEqual('Swaziland');
expect(eswatiniInfo.display).toEqual('Eswatini');
expect(eswatiniInfo.code).toEqual('sz');
});
test('lookupCountryByName() will find country info', () => {
expect(typeof lookupCountryByName).toBe('function');
const eswatiniInfo = lookupCountryByName('Swaziland');
expect(eswatiniInfo.name).toEqual('Swaziland');
expect(eswatiniInfo.display).toEqual('Eswatini');
expect(eswatiniInfo.code).toEqual('sz');
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment