Skip to content

Commit

Permalink
Merge pull request #27 from CoreMedia/release-2304.1.1
Browse files Browse the repository at this point in the history
Changes for Release 2304.1.1
  • Loading branch information
pitgrap committed Jun 28, 2023
2 parents f0f00fc + 11ce4b9 commit d68456b
Show file tree
Hide file tree
Showing 14 changed files with 757 additions and 650 deletions.
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Changelog

## v2304.1.1

*Released 28.06.2023*

### Bugfixes and Changes:

- Fixed graphql error for production systems
- Added unit-tests for preview and campaign utils
- Updated minor versions of dependencies

---

## v2304.1.0

*Released 20.06.2023*
Expand Down
10 changes: 5 additions & 5 deletions apps/spark/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@
"build-storybook": "build-storybook -o dist/storybook"
},
"dependencies": {
"@apollo/client": "^3.7.15",
"@apollo/client": "^3.7.16",
"@coremedia-labs/graphql-layer": "workspace:^",
"@coremedia-labs/preview-integration": "workspace:^",
"@coremedia-labs/view-dispatcher": "workspace:^",
"@js-joda/core": "^5.5.3",
"@js-joda/timezone": "^2.18.0",
"crypto-hash": "^2.0.1",
"graphql": "^16.6.0",
"graphql": "^16.7.1",
"loglevel": "^1.8.1",
"query-string": "^7.1.3",
"react": "^17.0.2",
Expand Down Expand Up @@ -57,8 +57,8 @@
"@types/react-router-dom": "^5.3.3",
"@types/react-slick": "^0.23.10",
"@types/styled-components": "^5.1.26",
"@typescript-eslint/eslint-plugin": "^5.60.0",
"@typescript-eslint/parser": "^5.60.0",
"@typescript-eslint/eslint-plugin": "^5.60.1",
"@typescript-eslint/parser": "^5.60.1",
"@vitejs/plugin-react-swc": "^3.3.2",
"cross-fetch": "^3.1.6",
"dotenv": "^16.3.1",
Expand All @@ -71,7 +71,7 @@
"eslint-plugin-storybook": "^0.6.12",
"prettier": "^2.8.8",
"typedoc": "^0.24.8",
"typescript": "^5.1.3",
"typescript": "^5.1.5",
"vite": "^4.3.9",
"vitest": "^0.31.4"
},
Expand Down
62 changes: 62 additions & 0 deletions apps/spark/src/utils/Campaign/CampaignUtil.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import { addCampaignQueryVariables } from "./CampaignUtil";

describe("campaign variables for content-page", () => {
beforeEach(() => {
process.env = Object.create(null);
});

it("prod campaign", () => {
process.env.VITE_PREVIEW = "false";
process.env.VITE_CAMPAIGN_ENABLED = "true";
const generatedParams = addCampaignQueryVariables({}, "calista", undefined);
const expectedResult = {
modeCampaignContent: true,
modePreviewCampaign: false,
modePreviewCampaignContent: false,
refinements: ["calista"],
};
expect(generatedParams).toEqual(expectedResult);
});

it("preview campaign", () => {
process.env.VITE_PREVIEW = "true";
process.env.VITE_CAMPAIGN_ENABLED = "true";
const generatedParams = addCampaignQueryVariables({}, "calista", undefined);
const expectedResult = {
modeCampaignContent: false,
modePreviewCampaign: false,
modePreviewCampaignContent: true,
refinements: ["calista"],
};
expect(generatedParams).toEqual(expectedResult);
});

it("preview single campaign", () => {
process.env.VITE_PREVIEW = "true";
process.env.VITE_CAMPAIGN_ENABLED = "true";
const generatedParams = addCampaignQueryVariables({}, "calista", undefined, "a");
const expectedResult = {
modeCampaignContent: false,
modePreviewCampaign: true,
modePreviewCampaignContent: false,
refinements: ["calista"],
previewCampaignId: "a",
};
expect(generatedParams).toEqual(expectedResult);
});

it("preview campaign with time travel", () => {
process.env.VITE_PREVIEW = "true";
process.env.VITE_CAMPAIGN_ENABLED = "true";
const previewDate = new Date("2023-01-01T00:00:00.000Z");
const generatedParams = addCampaignQueryVariables({}, "calista", undefined, undefined, previewDate);
const expectedResult = {
modeCampaignContent: false,
modePreviewCampaign: false,
modePreviewCampaignContent: true,
refinements: ["calista"],
previewDate: previewDate.toISOString(),
};
expect(generatedParams).toEqual(expectedResult);
});
});
8 changes: 6 additions & 2 deletions apps/spark/src/utils/Campaign/CampaignUtil.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,12 @@ export const addCampaignQueryVariables = (
if (campaignEnabled) {
const preview = isPreview();
variables.refinements = currentNavigation ? getRefinementData(currentNavigation, refinement) : [refinement];
variables.previewCampaignId = preview && previewCampaignId;
variables.previewDate = preview && previewDate?.toISOString();
if (preview && previewCampaignId) {
variables.previewCampaignId = previewCampaignId;
}
if (preview && previewDate) {
variables.previewDate = preview && previewDate?.toISOString();
}
variables.modePreviewCampaign = preview && previewCampaignId !== undefined;
variables.modePreviewCampaignContent = preview && previewCampaignId === undefined;
variables.modeCampaignContent = !preview;
Expand Down
28 changes: 28 additions & 0 deletions apps/spark/src/utils/Preview/Preview.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { expect } from "vitest";
import { isPreview } from "./Preview";

describe("isPreview", () => {
beforeEach(() => {
process.env = Object.create(null);
});

it("VITE_PREVIEW=true", () => {
process.env.VITE_PREVIEW = "true";
expect(isPreview()).toBe(true);
});

it("DEV=true", () => {
process.env.DEV = "true";
expect(isPreview()).toBe(true);
});

it("DEV=true, VITE_PREVIEW=false", () => {
process.env.DEV = "true";
import.meta.env.VITE_PREVIEW = "false";
expect(isPreview()).toBe(false);
});

it("env=undefined", () => {
expect(isPreview()).toBe(false);
});
});
10 changes: 8 additions & 2 deletions apps/spark/src/utils/Preview/Preview.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@ import { isCampaignEnabled } from "../Campaign/CampaignUtil";
* @return boolean preview mode
*/
export const isPreview = (): boolean => {
return import.meta.env.VITE_PREVIEW === "true" || (import.meta.env.DEV && import.meta.env.VITE_PREVIEW !== "false");
return (
import.meta.env.VITE_PREVIEW === "true" ||
(import.meta.env.DEV && import.meta.env.VITE_PREVIEW !== "false") ||
false
);
};

/**
Expand Down Expand Up @@ -46,6 +50,8 @@ export const getPreviewDate = (queryParams: string) => {
*/
export const getPreviewCampaignId = (queryParams: string) => {
const previewCampaignId =
new URLSearchParams(queryParams).get("campaignId") ?? new URLSearchParams(queryParams).get("previewCampaign");
new URLSearchParams(queryParams).get("localizedCampaignId") ??
new URLSearchParams(queryParams).get("campaignId") ??
new URLSearchParams(queryParams).get("previewCampaign");
return (isPreview() && isCampaignEnabled() && previewCampaignId) || undefined;
};
12 changes: 6 additions & 6 deletions apps/standalone-fragment/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@
"lint:ci": "eslint \"src/**/*.+(ts|tsx)\""
},
"dependencies": {
"@apollo/client": "^3.7.15",
"@apollo/client": "^3.7.16",
"@coremedia-labs/graphql-layer": "workspace:^",
"graphql": "^16.6.0",
"graphql": "^16.7.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
"@babel/core": "^7.22.5",
"@types/react": "^17.0.62",
"@types/react-dom": "^17.0.20",
"@typescript-eslint/eslint-plugin": "^5.60.0",
"@typescript-eslint/parser": "^5.60.0",
"@typescript-eslint/eslint-plugin": "^5.60.1",
"@typescript-eslint/parser": "^5.60.1",
"babel-loader": "^9.1.2",
"babel-preset-react-app": "^10.0.1",
"copy-webpack-plugin": "^11.0.0",
Expand All @@ -31,8 +31,8 @@
"eslint-plugin-react": "^7.32.2",
"prettier": "^2.8.8",
"style-loader": "^3.3.3",
"typescript": "^5.1.3",
"webpack": "^5.87.0",
"typescript": "^5.1.5",
"webpack": "^5.88.0",
"webpack-cli": "^4.10.0"
},
"browserslist": {
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@coremedia-labs/headless-client-workspace",
"version": "2304.1.0",
"version": "2304.1.1",
"description": "Spark - The React client workspace for the CoreMedia Headless Server",
"private": true,
"license": "CoreMedia Open Source License",
Expand Down Expand Up @@ -55,8 +55,8 @@
"trim@<0.0.3": ">=0.0.3",
"trim-newlines@<3.0.1": ">=3.0.1",
"glob-parent@<5.1.2": ">=5.1.2",
"undici@<=5.8.1": ">=5.8.2",
"undici@<5.8.0": ">=5.8.0"
"undici@<5.19.1": ">=5.19.1",
"semver@<7.5.2": ">=7.5.2"
}
}
}
10 changes: 5 additions & 5 deletions packages/graphql-layer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@
"./dist/__downloaded__/schema.json": "./dist/__downloaded__/schema.json"
},
"dependencies": {
"@apollo/client": "^3.7.15",
"@apollo/client": "^3.7.16",
"cross-fetch": "^3.1.6",
"dotenv": "^16.3.1",
"graphql": "^16.6.0",
"graphql": "^16.7.1",
"graphql-tag": "^2.12.6",
"typescript": "^5.1.3"
"typescript": "^5.1.5"
},
"devDependencies": {
"@graphql-codegen/cli": "^2.16.5",
Expand All @@ -41,8 +41,8 @@
"@graphql-codegen/typescript-operations": "^2.5.13",
"@graphql-codegen/typescript-react-apollo": "^3.3.7",
"@types/node": "^18.16.18",
"@typescript-eslint/eslint-plugin": "^5.60.0",
"@typescript-eslint/parser": "^5.60.0",
"@typescript-eslint/eslint-plugin": "^5.60.1",
"@typescript-eslint/parser": "^5.60.1",
"eslint": "^8.43.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-prettier": "^4.2.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/preview-integration/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
"eslint-plugin-prettier": "^4.2.1",
"prettier": "^2.8.8",
"style-loader": "^3.3.3",
"webpack": "^5.87.0",
"webpack": "^5.88.0",
"webpack-cli": "^4.10.0"
},
"browserslist": [
Expand Down
6 changes: 3 additions & 3 deletions packages/view-dispatcher/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
"main:src": "src/index.ts",
"types": "dist/index.d.ts",
"dependencies": {
"typescript": "^5.1.3"
"typescript": "^5.1.5"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.60.0",
"@typescript-eslint/parser": "^5.60.0",
"@typescript-eslint/eslint-plugin": "^5.60.1",
"@typescript-eslint/parser": "^5.60.1",
"eslint": "^8.43.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-prettier": "^4.2.1",
Expand Down
Loading

0 comments on commit d68456b

Please sign in to comment.