Files
product-import-ai/test/idealo-picture-parser.test.ts
T

34 lines
1.4 KiB
TypeScript

// @ts-nocheck
import test from "node:test";
import assert from "node:assert/strict";
import { extractIdealoGalleryPictureUrls } from "../src/services/catalog-products.ts";
test("idealo gallery parser prefers large splide images over thumbnails", () => {
const html = `
<div class="splide__track container">
<ul class="splide__list">
<li class="splide__slide">
<img
src="//img.idealo.com/folder/Product/200123/4/200123456/s1_product_thumb.jpg"
srcset="//img.idealo.com/folder/Product/200123/4/200123456/s1_product_150x150.jpg 150w,
//img.idealo.com/folder/Product/200123/4/200123456/s1_product_1000x1000.jpg 1000w">
</li>
<li class="splide__slide">
<picture>
<source srcset="//img.idealo.com/folder/Product/200123/4/200123456/s2_product_400x400.jpg 400w,
//img.idealo.com/folder/Product/200123/4/200123456/s2_product_1200x1200.jpg 1200w">
<img src="//img.idealo.com/folder/Product/200123/4/200123456/s2_product_80x80.jpg">
</picture>
</li>
</ul>
</div>`;
const urls = extractIdealoGalleryPictureUrls(html, "https://www.idealo.de/product.html");
assert.deepEqual(urls, [
"https://img.idealo.com/folder/Product/200123/4/200123456/s1_product_1000x1000.jpg",
"https://img.idealo.com/folder/Product/200123/4/200123456/s2_product_1200x1200.jpg",
]);
});