diff --git a/src/data/dataCredits.js b/src/data/dataCredits.js index 8d3949351..3b9a93c0b 100644 --- a/src/data/dataCredits.js +++ b/src/data/dataCredits.js @@ -300,6 +300,22 @@ export const DATA_CREDITS = [ 'Traffic cameras (Toronto): contains information licensed under the ' + 'Open Government Licence – Toronto', }, + { + key: 'mapillary', + html: 'Street Level: imagery © Mapillary contributors, CC BY-SA 4.0', + }, + { + key: 'google-street-view', + html: 'Street Level: Street View imagery © Google', + }, + { + key: 'kartaview', + html: 'Street Level: imagery © KartaView contributors, CC BY-SA 4.0', + }, + { + key: 'panoramax', + html: 'Street Level: imagery © Panoramax contributors, licence per picture', + }, { key: 'gbfs', html: diff --git a/src/data/dataCredits.test.mjs b/src/data/dataCredits.test.mjs index 30a19b8fe..dc3a7951f 100644 --- a/src/data/dataCredits.test.mjs +++ b/src/data/dataCredits.test.mjs @@ -128,3 +128,16 @@ test('the NYC camera credit carries NYC DOT’s requested disclaimer', () => { assert.match(credit.html, /make no representation as to the accuracy/); assert.match(credit.html, /observe posted signage/); }); + +test('every Street Level imagery source is in the attribution lightbox', () => { + for (const key of [ + 'mapillary', + 'google-street-view', + 'kartaview', + 'panoramax', + ]) + assert.ok( + DATA_CREDITS.some((entry) => entry.key === key), + `${key} has no credit`, + ); +});