import { RetailerKind } from '@/types'; import { getIdentifiersFromData } from '../identifiers'; describe('get product identifiers', () => { it('should work for world market', () => { expect( getIdentifiersFromData({ url: 'https://www.worldmarket.com/product/pink-alessia-area-rug.do?sortby=ourPicksAscend&from=fn&option=288787-100042-101064', retailer: RetailerKind.WORLD_MARKET, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "wm:pink-alessia-area-rug", ], "variant": Array [ "worldmarket-option:288787-100042-101064", ], } `); }); it('should work for pottern barn', async () => { expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/paola-arbor-mp/?cm_src=rel', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:paola-arbor-mp", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/theodora-trellis-mp/?cm_src=rel', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:theodora-trellis-mp", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/weathered-wire-garden-sculpture-mp/?cm_src=WsiPip1%26recstrat%3DView-View-1%257CVCB-GRP-AFF-QNT', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:weathered-wire-garden-sculpture-mp", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/zadie-arbor-mp/?sku=6734474', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:zadie-arbor-mp", ], "variant": Array [ "pbsku:6734474", ], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/stacked-pumpkins-yard-stake/?pkey=cgarden-decor-and-fountains', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:stacked-pumpkins-yard-stake", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/serene-bell-wind-chime-collection-mp/?sku=7212118', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:serene-bell-wind-chime-collection-mp", ], "variant": Array [ "pbsku:7212118", ], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/serene-bell-wind-chime-collection-mp/?sku=727170', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:serene-bell-wind-chime-collection-mp", ], "variant": Array [ "pbsku:727170", ], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/annabel-wooden-chicken-coop-mp/?pkey=cgarden-decor-and-fountains', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:annabel-wooden-chicken-coop-mp", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/blue-heron-bird-copper-weathervane-mp/?pkey=cgarden-decor-and-fountains', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:blue-heron-bird-copper-weathervane-mp", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/galloping-horse-copper-weathervane-mp/?cm_src=rel', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:galloping-horse-copper-weathervane-mp", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/american-eagle-copper-weathervane-with-roof-mount-mp/?cm_src=rel', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:american-eagle-copper-weathervane-with-roof-mount-mp", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/whale-copper-weathervane-mp/?cm_src=rel', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:whale-copper-weathervane-mp", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/sailboat-copper-weathervane-mp/?cm_src=rel', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:sailboat-copper-weathervane-mp", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/nantucket-whale-napkin-box-napkins/?cm_src=WsiPip1%26recstrat%3DView-View-1%257CVCB-GRP-AFF-QNT', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:nantucket-whale-napkin-box-napkins", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/ceramic-tabletop-torch-mp/?pkey=cgarden-decor-and-fountains', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:ceramic-tabletop-torch-mp", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/witch-broom-yard-stake/?pkey=cgarden-decor-and-fountains', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:witch-broom-yard-stake", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/tree-owl-yard-stake/', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:tree-owl-yard-stake", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/veradek-privacy-screen/?sku=1336113', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:veradek-privacy-screen", ], "variant": Array [ "pbsku:1336113", ], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/veradek-privacy-screen/?sku=2555810', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:veradek-privacy-screen", ], "variant": Array [ "pbsku:2555810", ], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/veradek-privacy-screen/?sku=8948080', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:veradek-privacy-screen", ], "variant": Array [ "pbsku:8948080", ], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/veradek-privacy-screen/?sku=8240567', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:veradek-privacy-screen", ], "variant": Array [ "pbsku:8240567", ], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/veradek-privacy-screen/?sku=2206107', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:veradek-privacy-screen", ], "variant": Array [ "pbsku:2206107", ], } `); expect( getIdentifiersFromData({ url: 'www.potterybarn.com/products/veradek-privacy-screen-rust/?sku=3889942', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:veradek-privacy-screen-rust", ], "variant": Array [ "pbsku:3889942", ], } `); expect( getIdentifiersFromData({ url: 'www.potterybarn.com/products/veradek-privacy-screen-rust/?sku=1526210', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:veradek-privacy-screen-rust", ], "variant": Array [ "pbsku:1526210", ], } `); expect( getIdentifiersFromData({ url: 'www.potterybarn.com/products/veradek-privacy-screen-rust/?sku=4014467', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:veradek-privacy-screen-rust", ], "variant": Array [ "pbsku:4014467", ], } `); expect( getIdentifiersFromData({ url: 'www.potterybarn.com/products/veradek-privacy-screen-rust/?sku=5096140', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:veradek-privacy-screen-rust", ], "variant": Array [ "pbsku:5096140", ], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/veradek-privacy-screen/?sku=4169506', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:veradek-privacy-screen", ], "variant": Array [ "pbsku:4169506", ], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/umbra-anywhere-metallic-curtain-rod-and-room-divider-mp/?cm_src=WsiPip1%26recstrat%3DView-View-1%257CVCB-GRP-AFF-QNT', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:umbra-anywhere-metallic-curtain-rod-and-room-divider-mp", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/the-preppi-go-box/?pkey=ctotes-weekenders', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:the-preppi-go-box", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'https://www.potterybarn.com/products/bellagio-spinner/?pkey=ctotes-weekenders', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:bellagio-spinner", ], "variant": Array [], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/brics-x-travel-ladies-business-tote/?sku=6495443', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:brics-x-travel-ladies-business-tote", ], "variant": Array [ "pbsku:6495443", ], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/elin-bath-stool-mp/?sku=5648745', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:elin-bath-stool-mp", ], "variant": Array [ "pbsku:5648745", ], } `); expect( getIdentifiersFromData({ url: 'http://www.potterybarn.com/products/elin-bath-stool-mp/?sku=4179291', retailer: RetailerKind.POTTERY_BARN, }) ).toMatchInlineSnapshot(` Object { "product": Array [ "pb:elin-bath-stool-mp", ], "variant": Array [ "pbsku:4179291", ], } `); }); });