@jetshop/core 5.14.0-alpha.49df897e → 5.14.0-alpha.abd04298
Sign up to get free protection for your applications and to get access to all the features.
@@ -7,7 +7,7 @@ export const getGroupedChannels = (availableChannels, { groupName }) => {
|
|
7
7
|
return undefined;
|
8
8
|
}
|
9
9
|
const selectedChannelGroup = availableChannels.filter((channel) => channel.groupName === currentChannel.groupName);
|
10
|
-
if (selectedChannelGroup) {
|
10
|
+
if (selectedChannelGroup.length > 0) {
|
11
11
|
return selectedChannelGroup;
|
12
12
|
}
|
13
13
|
else {
|
@@ -191,68 +191,8 @@ function setGeoIpAndAcceptLanguageCookies({ cookies, geoipCountry, acceptLanguag
|
|
191
191
|
path: '/'
|
192
192
|
});
|
193
193
|
}
|
194
|
-
function getGroupedChannelsByUrl({ url, channels, singleDomainMode, cookies, geoipCountry }) {
|
195
|
-
const hasGroupedChannels = allChannelsGrouped(channels);
|
196
|
-
if (!hasGroupedChannels) {
|
197
|
-
return {
|
198
|
-
hasGroupedChannels,
|
199
|
-
groupByChannel: undefined
|
200
|
-
};
|
201
|
-
}
|
202
|
-
switch (true) {
|
203
|
-
case isInDev(url): {
|
204
|
-
if (singleDomainMode) {
|
205
|
-
const currentBaseUrl = getURLBasename(new URL(url));
|
206
|
-
// -> se, de, dk, es etcetc
|
207
|
-
return {
|
208
|
-
hasGroupedChannels,
|
209
|
-
groupByChannel: channels.find((channel) =>
|
210
|
-
// We always split channel.url to consider if trailing slashes are added in as BaseUrl
|
211
|
-
sanitizeURL(channel.url).split('/')[1] === currentBaseUrl)
|
212
|
-
};
|
213
|
-
}
|
214
|
-
else {
|
215
|
-
// Try to match with anything during development + non-singledomain,
|
216
|
-
// this is b/c we can't match dev urls with any baseurl.
|
217
|
-
// If one wan't to test it in dev one can use the ?channel=XX param.
|
218
|
-
const { activeChannel, chosenChannel } = getCurrentChannel({
|
219
|
-
url,
|
220
|
-
singleDomainMode,
|
221
|
-
channels,
|
222
|
-
cookies,
|
223
|
-
geoipCountry
|
224
|
-
});
|
225
|
-
return {
|
226
|
-
hasGroupedChannels,
|
227
|
-
// Active channel is given first priority. If it is null we are most likely in staging or development so chosenChannel or defaultChannel is used
|
228
|
-
groupByChannel: activeChannel || chosenChannel || getDefaultChannel(channels)
|
229
|
-
};
|
230
|
-
}
|
231
|
-
}
|
232
|
-
case singleDomainMode: {
|
233
|
-
const currentBaseUrl = sanitizeURL(url).split('/', 2);
|
234
|
-
// -> se, de, dk, es etcetc
|
235
|
-
return {
|
236
|
-
hasGroupedChannels,
|
237
|
-
groupByChannel: channels.find((channel) =>
|
238
|
-
// We always split channel.url to consider if trailing slashes are added in as BaseUrl
|
239
|
-
sanitizeURL(channel.url).split('/')[1] === currentBaseUrl[1]) || getDefaultChannel(channels)
|
240
|
-
};
|
241
|
-
}
|
242
|
-
default: {
|
243
|
-
const currentBaseUrl = sanitizeURL(url).split('/')[0];
|
244
|
-
// -> domain.com
|
245
|
-
return {
|
246
|
-
hasGroupedChannels,
|
247
|
-
groupByChannel: channels.find((channel) =>
|
248
|
-
// We always split channel.url to consider if trailing slashes are added in as BaseUrl
|
249
|
-
sanitizeURL(channel.url).split('/')[0] === currentBaseUrl)
|
250
|
-
};
|
251
|
-
}
|
252
|
-
}
|
253
|
-
}
|
254
194
|
// Is where we determine current channel to get return values in getSelectedAndRecommendedChannel
|
255
|
-
function getCurrentChannel({ url, singleDomainMode, channels, cookies
|
195
|
+
function getCurrentChannel({ url, singleDomainMode, channels, cookies }) {
|
256
196
|
const { activeChannel, activeChannels } = getChannelFromPathOrUrl({
|
257
197
|
url,
|
258
198
|
singleDomainMode,
|
@@ -262,42 +202,34 @@ function getCurrentChannel({ url, singleDomainMode, channels, cookies, geoipCoun
|
|
262
202
|
cookies,
|
263
203
|
channels
|
264
204
|
});
|
265
|
-
const channelFromGeoIp = findChannelByCountry(geoipCountry || cookies.get('geoipCountry'), channels);
|
266
205
|
// But have default channel as fallback,
|
267
206
|
const defaultChannel = getDefaultChannel(channels);
|
268
207
|
return {
|
269
208
|
activeChannel,
|
270
209
|
activeChannels,
|
271
210
|
chosenChannel,
|
272
|
-
channelFromGeoIp,
|
273
211
|
defaultChannel
|
274
212
|
};
|
275
213
|
}
|
276
214
|
export function getSelectedAndRecommendedChannel({ url, singleDomainMode, channels, cookies, geoipCountry, acceptedLanguages, disableGeoRedirect }) {
|
277
215
|
setCookiesFromQueryString({ cookies, url });
|
278
|
-
const {
|
216
|
+
const { defaultChannel, chosenChannel, activeChannel, activeChannels } = getCurrentChannel({
|
279
217
|
url,
|
280
|
-
channels,
|
281
218
|
singleDomainMode,
|
219
|
+
channels,
|
282
220
|
cookies,
|
283
221
|
geoipCountry
|
284
222
|
});
|
285
|
-
// If
|
223
|
+
// Active channel is given first priority. If it is null we are most likely in staging or development so chosenChannel or defaultChannel is used
|
224
|
+
// Definitions: Requested channel by url || Channel stored in cookies || Default channel
|
225
|
+
const pureChannel = activeChannel || chosenChannel || defaultChannel;
|
286
226
|
// NB: All channels must be grouped and groupName is nullable.
|
287
|
-
const availableChannels =
|
227
|
+
const availableChannels = allChannelsGrouped(channels)
|
288
228
|
? getGroupedChannels(channels, {
|
289
|
-
groupName:
|
229
|
+
groupName: pureChannel.groupName
|
290
230
|
})
|
291
231
|
: channels;
|
292
|
-
const
|
293
|
-
url,
|
294
|
-
singleDomainMode,
|
295
|
-
channels: availableChannels,
|
296
|
-
cookies,
|
297
|
-
geoipCountry
|
298
|
-
});
|
299
|
-
// Active channel is given first priority. If it is null we are most likely in staging or development so chosenChannel or defaultChannel is used
|
300
|
-
const pureChannel = activeChannel || chosenChannel || defaultChannel;
|
232
|
+
const channelFromGeoIp = findChannelByCountry(geoipCountry || cookies.get('geoipCountry'), availableChannels);
|
301
233
|
let redirect = false;
|
302
234
|
let pureRecommendedChannel;
|
303
235
|
// If a channel has been chosen we want to redirect to it
|
@@ -305,14 +237,21 @@ export function getSelectedAndRecommendedChannel({ url, singleDomainMode, channe
|
|
305
237
|
activeChannel &&
|
306
238
|
activeChannel.id !== chosenChannel.id &&
|
307
239
|
// We don't want to redirect if the URLs of the channels are the same (i.e. demostore)
|
308
|
-
chosenChannel.url !== activeChannel.url
|
240
|
+
chosenChannel.url !== activeChannel.url &&
|
241
|
+
// It is safe to redirect if the channel is part of the same group
|
242
|
+
(chosenChannel === null || chosenChannel === void 0 ? void 0 : chosenChannel.groupName) === (activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.groupName)) {
|
309
243
|
redirect = true;
|
310
244
|
pureRecommendedChannel = chosenChannel;
|
311
245
|
}
|
312
|
-
else if (channelFromGeoIp &&
|
246
|
+
else if (channelFromGeoIp &&
|
247
|
+
// Recommend channel if it not the same as the current channel
|
248
|
+
pureChannel.id !== channelFromGeoIp.id &&
|
249
|
+
// Or is available in channel group
|
250
|
+
(pureChannel === null || pureChannel === void 0 ? void 0 : pureChannel.groupName) === (channelFromGeoIp === null || channelFromGeoIp === void 0 ? void 0 : channelFromGeoIp.groupName)) {
|
313
251
|
pureRecommendedChannel = channelFromGeoIp;
|
252
|
+
// Allow redirect if there's no channel in cookies (chosenChannel)
|
314
253
|
redirect = !disableGeoRedirect && !chosenChannel;
|
315
|
-
//
|
254
|
+
// the following should happen when we can't find a matching channel from the url so we want to redirect such that the basename is included
|
316
255
|
}
|
317
256
|
else if (!activeChannel &&
|
318
257
|
singleDomainMode &&
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"channelUtils.js","sourceRoot":"","sources":["channelUtils.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"channelUtils.js","sourceRoot":"","sources":["channelUtils.ts"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,MAAM,IAAI,CAAC;AAapB,MAAM,kBAAkB,GAAG,CAAC,iBAA4B,EAAE,EAAE,CAC1D,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,CAAA,EAAA,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,iBAA4B,EAC5B,EAAE,SAAS,EAAyB,EACtB,EAAE;IAChB,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAC3C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAC7C,CAAC;IAEF,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,MAAM,CACnD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,cAAc,CAAC,SAAS,CAC5D,CAAC;IAEF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;QACnC,OAAO,oBAAoB,CAAC;KAC7B;SAAM;QACL,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,EAAE;IACzC,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,GAAG,EACH,gBAAgB,EAIjB,EAAE,EAAE;IACH,IAAI,gBAAgB,EAAE;QACpB,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC;SAAM;QACL,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;KAC5B;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAmB,EAAE,EAAE;IACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,OAAgB,EAChB,OAAgB,EAChB,QAAiB,EACjB,OAAgB,EAChB,mBAA4B,EACX,EAAE;IACnB,MAAM,gBAAgB,GACpB,OAAO,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC,QAAQ,EAAE,EAAE,CACX,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,mBAAmB,CACnE;QACD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC;QAClE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE3D,MAAM,gBAAgB,GACpB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;QACjD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE9C,kEAAkE;IAClE,MAAM,eAAe,GACnB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;QACjD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7C,uCACK,OAAO,KACV,QAAQ,EAAE,gBAAgB,IAAI,OAAO,CAAC,eAAe,EACrD,QAAQ,EAAE,gBAAgB,IAAI,OAAO,CAAC,eAAe,EACrD,OAAO,EAAE,eAAe,IACxB;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,WAAmB,EACnB,QAAmB,EACV,EAAE;IACX,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,QAAmB,EAAW,EAAE;IAC1E,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAAmB,EACnB,QAAmB,EACV,EAAE;IACX,qGAAqG;IACrG,MAAM,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1D,OAAO,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,SAAS,CAC/D;QACC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,KAAK,CACV,CAAC;IACF,IAAI,CAAC,yBAAyB,EAAE;QAC9B,mHAAmH;QACnH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/B,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC;YAC/D,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,CACV,CAAC;KACH;SAAM;QACL,OAAO,yBAAyB,CAAC;KAClC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAe,EAAE;IACzD,MAAM,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;QAChD,iBAAiB,EAAE,IAAI;KACxB,CAAC,CAAC;IACH,iDAAiD;IACjD,IAAI,WAAW,CAAC,gBAAgB,EAAE;QAChC,WAAW,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC;KAC7D;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAe,EAC7E,OAAgB,EAChB,EAAE;IACF,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IAC3B,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,IAAI,gBAAgB,EAAE;QACpB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAC3B;IACD,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACnE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACtE,cAAc;QACZ,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,eAAgC;IACjE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,cAAsB,CAAC;IAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,EAAE;QACvC,cAAc;YACZ,GAAG,GAAG,sBAAsB,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KAClE;IACD,IAAI,QAAgB,CAAC;IACrB,IAAI,UAAU,CAAC,QAAQ,KAAK,GAAG,EAAE;QAC/B,QAAQ,GAAG,UAAU,CAAC,QAAQ,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;KACzD;SAAM,IAAI,cAAc,EAAE;QACzB,QAAQ,GAAG,cAAc,CAAC;KAC3B;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,CACL,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;QAC7B,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,EAC/B,GAAG,EACH,gBAAgB,EAChB,QAAQ,EAKT;IACC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,gBAAgB,EAAE;QACpC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CACpC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAU,CAAC,CAAC,CACtE,CAAC;QACF,gHAAgH;QAChH,kGAAkG;QAClG,qFAAqF;QACrF,OAAO;YACL,aAAa,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YACnE,cAAc;SACf,CAAC;KACH;SAAM;QACL,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAClC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAChE,CAAC;QACF,oGAAoG;QACpG,0EAA0E;QAC1E,OAAO;YACL,aAAa,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YACnE,cAAc;SACf,CAAC;KACH;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,EAC7B,OAAO,EACP,QAAQ,EAIT;IACC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrD,OAAO,WAAW,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,yBAAyB,CAAC,EACjC,OAAO,EACP,GAAG,EAIJ;IACC,uEAAuE;IACvE,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9C,iCAAiC;IACjC,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAgB;IACnD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,+BAA+B,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7E,OAAO;QACL,iBAAiB,EAAE,iBAAiB,IAAI,+BAA+B;QACvE,kBAAkB;QAClB,iBAAiB,EAAE,iBAAiB,IAAI,sBAAsB;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,EACrC,OAAO,EACP,iBAAiB,EAIlB;IACC,MAAM,uBAAuB,GAC3B,OAAO,iBAAiB,KAAK,QAAQ;QACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,iBAAiB,CAAC;IACxB,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAC5C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAC/B,CAAC;IACF,OAAO,CACL,iBAAiB;QACjB,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CACrE,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CAAC,EACxC,OAAO,EACP,YAAY,EACZ,qBAAqB,EAKtB;IACC,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IAC3B,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,YAAY;QACV,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACpE,qBAAqB;QACnB,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,qBAAqB,EAAE;YAC1D,OAAO;YACP,IAAI,EAAE,GAAG;SACV,CAAC,CAAC;AACP,CAAC;AAED,iGAAiG;AACjG,SAAS,iBAAiB,CAAC,EACzB,GAAG,EACH,gBAAgB,EAChB,QAAQ,EACR,OAAO,EAOR;IAMC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,uBAAuB,CAAC;QAChE,GAAG;QACH,gBAAgB;QAChB,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,qBAAqB,CAAC;QAC1C,OAAO;QACP,QAAQ;KACT,CAAC,CAAC;IAEH,wCAAwC;IACxC,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEnD,OAAO;QACL,aAAa;QACb,cAAc;QACd,aAAa;QACb,cAAc;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,EAC/C,GAAG,EACH,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EASnB;IAMC,yBAAyB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAE5C,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,GACpE,iBAAiB,CAAC;QAChB,GAAG;QACH,gBAAgB;QAChB,QAAQ;QACR,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IAEL,gJAAgJ;IAChJ,wFAAwF;IACxF,MAAM,WAAW,GAAG,aAAa,IAAI,aAAa,IAAI,cAAc,CAAC;IAErE,8DAA8D;IAC9D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;QACpD,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;YAC3B,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC;QACJ,CAAC,CAAC,QAAQ,CAAC;IAEb,MAAM,gBAAgB,GAAG,oBAAoB,CAC3C,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAC3C,iBAAiB,CAClB,CAAC;IAEF,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,sBAAsB,CAAC;IAC3B,yDAAyD;IACzD,IACE,aAAa;QACb,aAAa;QACb,aAAa,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE;QACrC,sFAAsF;QACtF,aAAa,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG;QACvC,kEAAkE;QAClE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,OAAK,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAA,EACrD;QACA,QAAQ,GAAG,IAAI,CAAC;QAChB,sBAAsB,GAAG,aAAa,CAAC;KACxC;SAAM,IACL,gBAAgB;QAChB,8DAA8D;QAC9D,WAAW,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE;QACtC,mCAAmC;QACnC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,OAAK,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,SAAS,CAAA,EACtD;QACA,sBAAsB,GAAG,gBAAgB,CAAC;QAC1C,kEAAkE;QAClE,QAAQ,GAAG,CAAC,kBAAkB,IAAI,CAAC,aAAa,CAAC;QACjD,2IAA2I;KAC5I;SAAM,IACL,CAAC,aAAa;QACd,gBAAgB;QAChB,cAAc,CAAC,MAAM,KAAK,CAAC,EAC3B;QACA,QAAQ,GAAG,IAAI,CAAC;QAChB,sBAAsB,GAAG,WAAW,CAAC;KACtC;IAED,8GAA8G;IAC9G,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,gBAAgB,IAAI,aAAa,EAAE;QACrC,QAAQ,GAAG,KAAK,CAAC;KAClB;IAED,kJAAkJ;IAClJ,MAAM,qBAAqB,GACzB,iBAAiB;QACjB,6BAA6B,CAAC;YAC5B,OAAO,EAAE,WAAW;YACpB,iBAAiB;SAClB,CAAC,CAAC;IAEL,gFAAgF;IAChF,gCAAgC,CAAC;QAC/B,OAAO;QACP,YAAY;QACZ,qBAAqB;KACtB,CAAC,CAAC;IAEH,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAChE,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAEvC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;QACjD,GAAG,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC;QACjB,gBAAgB;KACjB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,qBAAqB,CAC3C,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,CACpB,CAAC;IAEF,IACE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS;QACnC,sBAAsB,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;YACtD,mBAAmB,EACrB;QACA,QAAQ,GAAG,IAAI,CAAC;QAChB,sBAAsB,GAAG,WAAW,CAAC;KACtC;IAED,MAAM,kBAAkB,GACtB,sBAAsB;QACtB,qBAAqB,CACnB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,CACpB,CAAC;IAEJ,OAAO;QACL,QAAQ;QACR,eAAe;QACf,kBAAkB;QAClB,8BAA8B;QAC9B,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAyB;IACzD,OAAO,OAAO;QACZ,CAAC,CAAC;YACE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC7B,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;YACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB;QACH,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"}
|
@@ -176,15 +176,6 @@ const selectedChannelSingleDomain = createSelectedChannel(
|
|
176
176
|
singleDomainChannels[0]
|
177
177
|
);
|
178
178
|
|
179
|
-
describe('Channel grouping', () => {
|
180
|
-
beforeEach(() => {
|
181
|
-
// Workaround changes in universal-cookie
|
182
|
-
Object.defineProperty(document, 'cookie', {
|
183
|
-
value: null
|
184
|
-
});
|
185
|
-
});
|
186
|
-
});
|
187
|
-
|
188
179
|
describe('Grouped channels', () => {
|
189
180
|
beforeEach(() => {
|
190
181
|
// Workaround changes in universal-cookie
|
@@ -319,46 +310,107 @@ describe('Grouped channels', () => {
|
|
319
310
|
});
|
320
311
|
});
|
321
312
|
describe('Redirects', () => {
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
313
|
+
beforeEach(() => {
|
314
|
+
// Workaround changes in universal-cookie
|
315
|
+
Object.defineProperty(document, 'cookie', {
|
316
|
+
value: null
|
317
|
+
});
|
318
|
+
});
|
319
|
+
describe('Single domain', () => {
|
320
|
+
it('Will not georedirect to channel outside of current group', () => {
|
321
|
+
const cookies = new Cookies();
|
322
|
+
const requestedChannel = createSelectedChannel(singleDomainChannels[0]);
|
323
|
+
|
324
|
+
const {
|
325
|
+
redirect,
|
326
|
+
channels: availableChannel,
|
327
|
+
selectedChannel
|
328
|
+
} = getSelectedAndRecommendedChannel({
|
329
|
+
url: requestedChannel.url,
|
330
|
+
singleDomainMode: true,
|
331
|
+
disableGeoRedirect: false,
|
332
|
+
channels: singleDomainChannels,
|
333
|
+
cookies,
|
334
|
+
geoipCountry: 'UK'
|
335
|
+
});
|
326
336
|
|
327
|
-
|
337
|
+
expect(selectedChannel.name === requestedChannel.name).toBe(true);
|
338
|
+
expect(redirect).toBe(false);
|
328
339
|
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
340
|
+
availableChannel.forEach((channel) =>
|
341
|
+
expect(channel.groupName).toBe('Brand-1')
|
342
|
+
);
|
343
|
+
});
|
344
|
+
it('Will georedirect to channel within of current group', () => {
|
345
|
+
const cookies = new Cookies();
|
346
|
+
const requestedChannel = createSelectedChannel(singleDomainChannels[0]);
|
347
|
+
|
348
|
+
const {
|
349
|
+
redirect,
|
350
|
+
channels: availableChannel,
|
351
|
+
selectedChannel,
|
352
|
+
recommendedChannel
|
353
|
+
} = getSelectedAndRecommendedChannel({
|
354
|
+
url: requestedChannel.url,
|
355
|
+
singleDomainMode: true,
|
356
|
+
disableGeoRedirect: false,
|
357
|
+
channels: singleDomainChannels,
|
358
|
+
cookies,
|
359
|
+
geoipCountry: 'SE'
|
335
360
|
});
|
336
361
|
|
337
|
-
|
338
|
-
expect(
|
339
|
-
|
340
|
-
|
362
|
+
expect(selectedChannel.name).toBe('INT');
|
363
|
+
expect(redirect).toBe(true);
|
364
|
+
expect(recommendedChannel.name).toBe('SE');
|
365
|
+
|
366
|
+
availableChannel.forEach((channel) =>
|
367
|
+
expect(channel.groupName).toBe('Brand-1')
|
368
|
+
);
|
369
|
+
});
|
341
370
|
});
|
342
371
|
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
372
|
+
describe('Non-single domain', () => {
|
373
|
+
it('Wil not redirect to channel within group', () => {
|
374
|
+
const cookies = new Cookies();
|
375
|
+
const selectedChannel = createSelectedChannel(channels[2]);
|
376
|
+
cookies.set('channel', selectedChannel.name);
|
347
377
|
|
348
|
-
|
378
|
+
const requestedChannel = createSelectedChannel(channels[0]);
|
349
379
|
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
380
|
+
const { redirect, channels: availableChannel } =
|
381
|
+
getSelectedAndRecommendedChannel({
|
382
|
+
url: requestedChannel.url,
|
383
|
+
singleDomainMode: false,
|
384
|
+
channels,
|
385
|
+
cookies
|
386
|
+
});
|
357
387
|
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
388
|
+
availableChannel.forEach((channel) =>
|
389
|
+
expect(channel.groupName).toBe('Brand-1')
|
390
|
+
);
|
391
|
+
expect(redirect).toBe(false);
|
392
|
+
});
|
393
|
+
|
394
|
+
it('Can redirect to channel within group', () => {
|
395
|
+
const cookies = new Cookies();
|
396
|
+
const selectedChannel = createSelectedChannel(channels[1]);
|
397
|
+
cookies.set('channel', selectedChannel.name);
|
398
|
+
|
399
|
+
const requestedChannel = createSelectedChannel(channels[0]);
|
400
|
+
|
401
|
+
const { redirect, channels: availableChannel } =
|
402
|
+
getSelectedAndRecommendedChannel({
|
403
|
+
url: requestedChannel.url,
|
404
|
+
singleDomainMode: false,
|
405
|
+
channels,
|
406
|
+
cookies
|
407
|
+
});
|
408
|
+
|
409
|
+
availableChannel.forEach((channel) =>
|
410
|
+
expect(channel.groupName).toBe('Brand-1')
|
411
|
+
);
|
412
|
+
expect(redirect).toBe(true);
|
413
|
+
});
|
362
414
|
});
|
363
415
|
});
|
364
416
|
});
|
package/package.json
CHANGED
package/test-utils/variables.js
CHANGED
@@ -6,6 +6,7 @@ export const channels = [
|
|
6
6
|
name: 'INT',
|
7
7
|
isDefault: true,
|
8
8
|
displayName: 'International',
|
9
|
+
groupName: null,
|
9
10
|
url: 'https://flight.jetshop.se',
|
10
11
|
countries: [
|
11
12
|
{
|
@@ -486,6 +487,7 @@ export const channels = [
|
|
486
487
|
name: 'SE',
|
487
488
|
isDefault: false,
|
488
489
|
displayName: null,
|
490
|
+
groupName: null,
|
489
491
|
url: 'https://flight-m2.jetshop.se',
|
490
492
|
countries: [
|
491
493
|
{
|
@@ -554,6 +556,7 @@ export const channels = [
|
|
554
556
|
name: 'UK',
|
555
557
|
isDefault: false,
|
556
558
|
displayName: null,
|
559
|
+
groupName: null,
|
557
560
|
url: 'https://flight-m2.jetshop.uk',
|
558
561
|
countries: [
|
559
562
|
{
|
@@ -620,6 +623,7 @@ export const singleDomainChannels = [
|
|
620
623
|
name: 'INT',
|
621
624
|
isDefault: true,
|
622
625
|
displayName: 'International',
|
626
|
+
groupName: null,
|
623
627
|
url: 'https://flight.jetshop.se/int',
|
624
628
|
countries: [
|
625
629
|
{
|
@@ -1100,6 +1104,7 @@ export const singleDomainChannels = [
|
|
1100
1104
|
name: 'SE',
|
1101
1105
|
isDefault: false,
|
1102
1106
|
displayName: null,
|
1107
|
+
groupName: null,
|
1103
1108
|
url: 'https://flight-m2.jetshop.se/se',
|
1104
1109
|
countries: [
|
1105
1110
|
{
|
@@ -1168,6 +1173,7 @@ export const singleDomainChannels = [
|
|
1168
1173
|
name: 'UK',
|
1169
1174
|
isDefault: false,
|
1170
1175
|
displayName: null,
|
1176
|
+
groupName: null,
|
1171
1177
|
url: 'https://flight-m2.jetshop.se/uk',
|
1172
1178
|
countries: [
|
1173
1179
|
{
|
@@ -2408,6 +2414,11 @@ export const groupedSingleDomainChannels = [
|
|
2408
2414
|
name: 'United Kingdom',
|
2409
2415
|
code: 'UK',
|
2410
2416
|
isDefault: true
|
2417
|
+
},
|
2418
|
+
{
|
2419
|
+
name: 'Sweden',
|
2420
|
+
code: 'SE',
|
2421
|
+
isDefault: false
|
2411
2422
|
}
|
2412
2423
|
],
|
2413
2424
|
languages: [
|