Skip to content

Commit 3cf1157

Browse files
committed
apply corrections
1 parent 859af7c commit 3cf1157

File tree

4 files changed

+20
-13
lines changed

4 files changed

+20
-13
lines changed

preview/src/index.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,21 @@
4848
const metadata = payload.metadata;
4949

5050
return {
51-
audience: getAudience(metadata?.audienceName),
52-
experience: metadata?.experienceName !== undefined ? metadata.experienceName : 'Unknown',
53-
experiment: metadata?.experimentName !== undefined ? metadata.experimentName : 'Unknown',
51+
audience: getAudience(metadata?.previewMode, metadata?.audienceName),
52+
experience: metadata?.experienceName ?? 'Unknown',
53+
experiment: metadata?.experimentName ?? 'Unknown',
5454
variant: metadata?.variantName ?? null,
5555
locale: metadata?.locale ?? null,
5656
};
5757
}
5858

59-
function getAudience(audienceName) {
60-
if (audienceName === undefined) {
61-
return 'Unknown';
59+
function getAudience(previewMode, audienceName) {
60+
if (previewMode === 'slotDefaultContent') {
61+
return 'None';
6262
}
6363

64-
if (audienceName === '') {
65-
return 'None';
64+
if (audienceName === undefined) {
65+
return 'Unknown';
6666
}
6767

6868
return audienceName;

preview/test/widget.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ test.describe('Preview widget', () => {
6666

6767
await expect(page.locator('#preview-experience')).not.toBeVisible();
6868

69-
await expect(page).toHaveScreenshot('widget-without-experience.png', {threshold: 0});
69+
await expect(page).toHaveScreenshot('widget-without-experience.png');
7070
});
7171

7272
test('should not display the experiment if not specified', async ({page}) => {

src/preview.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ import {PREVIEW_WIDGET_ORIGIN, PREVIEW_WIDGET_URL} from './constants';
77
const PREVIEW_PARAMETER = 'croct-preview';
88
const PREVIEW_EXIT = 'exit';
99

10+
export enum ExperiencePreviewScope {
11+
SLOT_DEFAULT_CONTENT = 'slotDefaultContent',
12+
PUBLISHED_CONTENT = 'publishedContent',
13+
EXPERIENCE_DRAFT = 'experienceDraft',
14+
EXPERIMENT_DRAFT = 'experimentDraft',
15+
}
16+
1017
export type Configuration = {
1118
tokenStore: TokenStore,
1219
logger: Logger,
@@ -109,7 +116,7 @@ export class PreviewPlugin implements Plugin {
109116
return params;
110117
}
111118

112-
if (metadata['audienceName'] === '') {
119+
if (metadata['previewMode'] === ExperiencePreviewScope.SLOT_DEFAULT_CONTENT) {
113120
metadata['audienceName'] = PreviewPlugin.NONE_AUDIENCE;
114121
}
115122

test/preview.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {InMemoryTokenStore, Token} from '@croct/sdk/token';
22
import {PluginSdk} from '../src/plugin';
3-
import {Configuration, factory, PreviewPlugin} from '../src/preview';
3+
import {Configuration, ExperiencePreviewScope, factory, PreviewPlugin} from '../src/preview';
44
import {PREVIEW_WIDGET_ORIGIN} from '../src/constants';
55

66
jest.mock(
@@ -238,14 +238,14 @@ describe('A Preview plugin', () => {
238238
expect(src.searchParams.has('variant')).toBe(false);
239239
});
240240

241-
it('should handle a no audience preview token', () => {
241+
it('should handle a slot default content preview token', () => {
242242
const plugin = new PreviewPlugin(configuration);
243243

244244
configuration.tokenStore.setToken(Token.of(tokenData.headers, {
245245
...tokenData.payload,
246246
metadata: {
247247
...tokenData.payload.metadata,
248-
audienceName: '',
248+
previewMode: ExperiencePreviewScope.SLOT_DEFAULT_CONTENT,
249249
},
250250
}));
251251

0 commit comments

Comments
 (0)