diff --git a/src/utils/attendee.js b/src/utils/attendee.js index 07f577181b..c7bed28409 100644 --- a/src/utils/attendee.js +++ b/src/utils/attendee.js @@ -27,6 +27,10 @@ * @return {string} URI without a mailto prefix */ export function removeMailtoPrefix(uri) { + if (typeof uri !== 'string') { + return '' + } + if (uri.startsWith('mailto:')) { return uri.substr(7) } @@ -41,6 +45,10 @@ export function removeMailtoPrefix(uri) { * @return {string} URI with a mailto prefix */ export function addMailtoPrefix(uri) { + if (typeof uri !== 'string') { + return 'mailto:' + } + if (uri.startsWith('mailto:')) { return uri } diff --git a/tests/javascript/unit/utils/attendee.test.js b/tests/javascript/unit/utils/attendee.test.js index f6d3412c2f..0b11bc2518 100644 --- a/tests/javascript/unit/utils/attendee.test.js +++ b/tests/javascript/unit/utils/attendee.test.js @@ -33,12 +33,22 @@ describe('utils/attendee test suite', () => { expect(removeMailtoPrefix(`mailto:${uri}`)).toEqual(uri) }) + it('should return blank strings when uris are not of type string', () => { + expect(removeMailtoPrefix(null)).toEqual('') + expect(removeMailtoPrefix(undefined)).toEqual('') + }) + it('should add mailto prefixes to uris', () => { const uri = 'principal@test.com' const uriWithPrefix = `mailto:${uri}` expect(addMailtoPrefix(uri)).toEqual(uriWithPrefix) expect(addMailtoPrefix(uriWithPrefix)).toEqual(uriWithPrefix) }) + + it('should add mailto prefixes to uris when they are not of type string', () => { + expect(addMailtoPrefix(null)).toEqual("mailto:") + expect(addMailtoPrefix(undefined)).toEqual("mailto:") + }) it('should extract a display name of an organizer', () => { const commonName = 'My Name'