Add WhatsApp numbers/links
Some checks failed
CI / Lint (pull_request) Failing after 32s
CI / Test (pull_request) Successful in 47s

This commit is contained in:
2026-04-12 16:06:02 +04:00
parent ad3e6ea402
commit 344a3067fa
4 changed files with 71 additions and 2 deletions

View File

@@ -295,4 +295,41 @@ module('Integration | Component | place-details', function (hooks) {
assert.dom(links[1]).hasText('+1 000 000 0000');
assert.dom(links[2]).hasText('+1 987 654 3210');
});
test('it formats whatsapp tags into wa.me links', async function (assert) {
const place = {
title: 'Chat Shop',
osmTags: {
'contact:whatsapp': '+1 234-567 8900',
whatsapp: '+44 987 654 321', // Also tests multiple values
},
};
await render(<template><PlaceDetails @place={{place}} /></template>);
const metaInfos = Array.from(
this.element.querySelectorAll('.meta-info .content-with-icon')
);
const whatsappBlock = metaInfos.find((el) => {
const iconSpan = el.querySelector('span.icon[title="WhatsApp"]');
return !!iconSpan;
});
assert.ok(whatsappBlock, 'WhatsApp block is rendered');
const links = whatsappBlock.querySelectorAll('a[href^="https://wa.me/"]');
assert.strictEqual(
links.length,
2,
'Rendered exactly 2 WhatsApp links'
);
// Verify it stripped the dashes and spaces for the wa.me URL
assert.strictEqual(links[0].getAttribute('href'), 'https://wa.me/+44987654321');
assert.strictEqual(links[1].getAttribute('href'), 'https://wa.me/+12345678900');
// Verify it kept the dashes and spaces for the visible text
assert.dom(links[0]).hasText('+44 987 654 321');
assert.dom(links[1]).hasText('+1 234-567 8900');
});
});