diff --git a/src/components/registration/steps.jsx b/src/components/registration/steps.jsx index 113777ef948..a6c6e9d0821 100644 --- a/src/components/registration/steps.jsx +++ b/src/components/registration/steps.jsx @@ -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) { diff --git a/src/lib/country-data.js b/src/lib/country-data.js index 046fcaae7aa..b88d0a2d3f5 100644 --- a/src/lib/country-data.js +++ b/src/lib/country-data.js @@ -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 diff --git a/test/unit/lib/country-data.test.js b/test/unit/lib/country-data.test.js index 5768e62dd93..4b7ebecd690 100644 --- a/test/unit/lib/country-data.test.js +++ b/test/unit/lib/country-data.test.js @@ -1,7 +1,8 @@ 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');