Skip to content

Commit 2f2213d

Browse files
Merge pull request #364 from contentstack/feature/comprehensive-integration-tests
feat: comprehensive integration test suite with 737 tests
2 parents 9d7168d + d660950 commit 2f2213d

46 files changed

Lines changed: 20294 additions & 61 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,6 @@ coverage
1313
.env
1414
.dccache
1515
dist/*
16-
*.log
16+
*.log
17+
docs-internal/
18+
talisman_report

.talismanrc

Lines changed: 55 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,56 @@
11
fileignoreconfig:
2-
- filename: index.d.ts
3-
checksum: 22c6a7fe4027d6b2c9adf0cbeb9c525ab79b15210b07ec5189693992e6800a66
4-
- filename: test/typescript/stack.test.ts
5-
checksum: 50b764c0ca6f6f27d7306a4e54327bef9b178e8436c6e3fad0d67d77343d10b3
6-
- filename: .github/workflows/secrets-scan.yml
7-
checksum: d79ec3f3288964f7d117b9ad319a54c0ebc152e35f69be8fde95522034fdfb2a
8-
- filename: package-lock.json
9-
checksum: c7c4feda727fae78c6fa03665b1d8f2a6363060631dd57b475f09307991ad305
10-
- filename: src/core/modules/assets.js
11-
checksum: 00f19d659b830b0f145b4db0ccf3211a4048d9488f30a224fe3c31cacca6dcd2
12-
- filename: .husky/pre-commit
13-
checksum: 52a664f536cf5d1be0bea19cb6031ca6e8107b45b6314fe7d47b7fad7d800632
14-
- filename: src/core/cache.js
15-
checksum: 85025b63df8db4a3f94ace5c7f088ea0e4d55eb8324d2265ea4a470b0c610fce
16-
- filename: src/core/cache-provider/localstorage.js
17-
checksum: 33266a67a003b665957e4a445e821b9295632cff75be0a71baf35b3576c55aa4
18-
- filename: src/core/modules/entry.js
19-
checksum: 49d6742d014ce111735611ebab16dc8c888ce8d678dfbc99620252257e780ec5
20-
- filename: src/core/contentstack.js
21-
checksum: 22e723507c1fed8b3175b57791f4249889c9305b79e5348d59d741bdf4f006ba
22-
- filename: test/config.js
23-
checksum: 4ada746af34f2868c038f53126c08c21d750ddbd037d0a62e88824dd5d9e20be
24-
- filename: test/live-preview/live-preview-test.js
25-
checksum: d742465789e00a17092a7e9664adda4342a13bc4975553371a26df658f109952
26-
- filename: src/core/lib/request.js
27-
checksum: 040f4fd184a96c57d0eb9e7134ae6ff65f8e9039c38c852c9a0f00825b4c69f1
28-
- filename: test/sync/sync-testcases.js
29-
checksum: 391b557a147c658a50256b49dcdd20fd053eb32966e9244d98c93142e4dcbf2e
30-
- filename: src/core/modules/taxonomy.js
31-
checksum: 115e63b4378809b29a037e2889f51e300edfd18682b3b6c0a4112c270fc32526
32-
- filename: src/core/modules/query.js
33-
checksum: aa6596a353665867586d00cc64225f0dea7edacc3bcfab60002a5727bd927132
34-
- filename: src/core/stack.js
35-
checksum: a467e56edcb43858512c47bd82c76dbf8799d57837f03c247e2cebe27ca5eaa8
36-
- filename: src/core/lib/utils.js
37-
checksum: 7ae53c3be5cdcd1468d66577c9450adc53e9c6aaeaeabc4275e87a47aa709850
38-
- filename: src/core/messages.js
39-
checksum: 2ea5e1ecac5bc143da22c4e0a675d31f587dc907312c05bcace020cb7f76165c
40-
version: ""
2+
- filename: test/integration/EntryTests/SingleEntryFetch.test.js
3+
checksum: 54015a61d1c3ceb1c6f3e720164e6aa1d2b21aa796c7ad7f90133b18b69127cd
4+
- filename: test/integration/GlobalFieldsTests/SEOGlobalField.test.js
5+
checksum: c5df5b9fa8756ced5f37879dff17aa0f31f50fd64470195064e0b22450cde29d
6+
- filename: test/integration/QueryTests/FieldProjection.test.js
7+
checksum: 9a15e9a222a18b99881218abbe6b82012bb663137cca179a63858698127e0aba
8+
- filename: test/integration/LivePreviewTests/LivePreview.test.js
9+
checksum: dba41fa432524189234a3d0ec35885a8e5c51904b3114853a41b1ec3899ad4cb
10+
- filename: test/config.js
11+
checksum: b249021c7de18f76039fdb393e8d74ce476acdd3861bac58965500f2b1a42b2e
12+
- filename: test/integration/GlobalFieldsTests/ContentBlockGlobalField.test.js
13+
checksum: 8d2bc8cb6661336b57397649259f7e12786256706019efb644f133b336629d96
14+
- filename: test/integration/GlobalFieldsTests/NestedGlobalField.test.js
15+
checksum: 1ba81e7a400fd02c5d66170bdd5b2419a8932963dd00c5635d754c89ab5daeba
16+
- filename: test/integration/NetworkResilienceTests/RetryLogic.test.js
17+
checksum: 3b5fe23398bdc2327848b3caa95339e51a0aed059c1eb299e78d3dd215ecbd30
18+
- filename: test/integration/QueryTests/ExistsSearchOperators.test.js
19+
checksum: 9b1cec59275ba72fe4b753e956c5b24b237d24d12819434ab65109075cf50f86
20+
- filename: index.d.ts
21+
checksum: 22c6a7fe4027d6b2c9adf0cbeb9c525ab79b15210b07ec5189693992e6800a66
22+
- filename: test/typescript/stack.test.ts
23+
checksum: 50b764c0ca6f6f27d7306a4e54327bef9b178e8436c6e3fad0d67d77343d10b3
24+
- filename: .github/workflows/secrets-scan.yml
25+
checksum: d79ec3f3288964f7d117b9ad319a54c0ebc152e35f69be8fde95522034fdfb2a
26+
- filename: package-lock.json
27+
checksum: 3d18d543ed9c7b87bcfca8f7af99bb3058ffa67b84a1ff888623686a84d06672
28+
- filename: src/core/modules/assets.js
29+
checksum: 00f19d659b830b0f145b4db0ccf3211a4048d9488f30a224fe3c31cacca6dcd2
30+
- filename: .husky/pre-commit
31+
checksum: 52a664f536cf6d1be0bea19cb6031ca6e8107b45b6314fe7d47b7fad7d800632
32+
- filename: src/core/cache.js
33+
checksum: 85025b63df8db4a3f94ace5c7f088ea0e4d55eb8324d2265ea4a470b0c610ce
34+
- filename: src/core/cache-provider/localstorage.js
35+
checksum: 33266a67a003b665957e4a445e821b9295632cff75be0a71baf35b3576c55aa4
36+
- filename: src/core/modules/entry.js
37+
checksum: 49d6742d014ce111735611ebab16dc8c888ce8d678dfbc99620252257e780ec5
38+
- filename: src/core/contentstack.js
39+
checksum: 22e723507c1fed8b3175b57791f4249889c9305b79e5348d59d741bdf4f006ba
40+
- filename: test/live-preview/live-preview-test.js
41+
checksum: d742465789e00a17092a7e9664adda4342a13bc4975553371a26df658f109952
42+
- filename: src/core/lib/request.js
43+
checksum: 775c2e74b4135747600a3f34535f97f7dcbf822e4d2dc68568f5b227d499fdbb
44+
- filename: test/sync/sync-testcases.js
45+
checksum: 391b557a147c658a50256b49dcdd20fd053eb32966e9244d98c93142e4dcbf2e
46+
- filename: src/core/modules/taxonomy.js
47+
checksum: 115e63b4378809b29a037e2889f51e300edfd18682b3b6c0a4112c270fc32526
48+
- filename: src/core/modules/query.js
49+
checksum: aa6596a353665867586d00cc64225f0dea7edacc3bcfab60002a5727bd927132
50+
- filename: src/core/stack.js
51+
checksum: a467e56edcb43858512c47bd82c76dbf8799d57837f03c247e2cebe27ca5eaa8
52+
- filename: src/core/lib/utils.js
53+
checksum: 7ae53c3be5cdcd1468d66577c9450adc53e9c6aaeaeabc4275e87a47aa709850
54+
- filename: src/core/messages.js
55+
checksum: 2ea5e1ecac5bc143da22c4e0a675d31f587dc907312c05bcace020cb7f76165c
56+
version: "1.0"

jest.js.config.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
module.exports = {
22
testEnvironment: "node",
3-
testMatch: ["**/test/**/*.js"],
3+
testMatch: ["**/test/integration/**/*.test.js"],
44
testPathIgnorePatterns: [
55
"/node_modules/",
66
"/test/index.js",
77
"/test/config.js",
88
"/test/sync_config.js",
9+
"/test/helpers/",
910
"/test/.*/utils.js",
1011
],
1112
reporters: ["default", ["jest-html-reporters",

test/config.js

Lines changed: 87 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,96 @@ if (missingVars.length > 0) {
1212
}
1313

1414
module.exports = {
15-
stack: { api_key: process.env.API_KEY, delivery_token: process.env.DELIVERY_TOKEN, environment: process.env.ENVIRONMENT },
15+
// Stack configuration
16+
stack: {
17+
api_key: process.env.API_KEY,
18+
delivery_token: process.env.DELIVERY_TOKEN,
19+
environment: process.env.ENVIRONMENT,
20+
branch: process.env.BRANCH_UID || 'main' // Branch is part of Stack config
21+
},
1622
host: process.env.HOST,
23+
24+
// Additional tokens for comprehensive tests
25+
managementToken: process.env.MANAGEMENT_TOKEN,
26+
previewToken: process.env.PREVIEW_TOKEN,
27+
livePreviewHost: process.env.LIVE_PREVIEW_HOST,
28+
29+
// Branch configuration (also available separately for reference)
30+
branch: process.env.BRANCH_UID || 'main',
31+
32+
// LEGACY content types (keep for backward compatibility)
1733
contentTypes: {
1834
source: 'source',
1935
numbers_content_type: 'numbers_content_type'
36+
},
37+
38+
// Content Types (UIDs from environment variables)
39+
complexContentTypes: {
40+
// Complexity level shortcuts
41+
complex: process.env.COMPLEX_CONTENT_TYPE_UID,
42+
medium: process.env.MEDIUM_CONTENT_TYPE_UID,
43+
simple: process.env.SIMPLE_CONTENT_TYPE_UID,
44+
selfReferencing: process.env.SELF_REF_CONTENT_TYPE_UID,
45+
46+
// Generic content type names (all values from env vars, keys are generic)
47+
article: process.env.MEDIUM_CONTENT_TYPE_UID,
48+
author: process.env.SIMPLE_CONTENT_TYPE_UID,
49+
cybersecurity: process.env.COMPLEX_CONTENT_TYPE_UID,
50+
section_builder: process.env.SELF_REF_CONTENT_TYPE_UID, // Alias for selfReferencing
51+
page_builder: 'page_builder' // Standard content type for modular blocks testing
52+
},
53+
54+
// Test Entry UIDs (all from environment variables)
55+
testEntries: {
56+
complex: process.env.COMPLEX_ENTRY_UID,
57+
medium: process.env.MEDIUM_ENTRY_UID,
58+
simple: process.env.SIMPLE_ENTRY_UID,
59+
selfReferencing: process.env.SELF_REF_ENTRY_UID,
60+
complexBlocks: process.env.COMPLEX_BLOCKS_ENTRY_UID
61+
},
62+
63+
// Variant configuration
64+
variants: {
65+
variantUID: process.env.VARIANT_UID
66+
},
67+
68+
// Asset configuration
69+
assets: {
70+
imageUID: process.env.IMAGE_ASSET_UID
71+
},
72+
73+
// Taxonomy configuration (generic country-based taxonomies with terms from .env)
74+
taxonomies: {
75+
usa: {
76+
uid: 'usa',
77+
term: process.env.TAX_USA_STATE
78+
},
79+
india: {
80+
uid: 'india',
81+
term: process.env.TAX_INDIA_STATE
82+
}
83+
},
84+
85+
// Locale configurations (standard/common locale codes)
86+
locales: {
87+
primary: 'en-us',
88+
secondary: 'fr-fr',
89+
japanese: 'ja-jp'
90+
},
91+
92+
// Global field UIDs (values from environment variables, keys are descriptive)
93+
// Supports both old naming (GLOBAL_FIELD_SIMPLE) and new naming (SIMPLE_GLOBAL_FIELD_UID)
94+
globalFields: {
95+
seo: process.env.GLOBAL_FIELD_SIMPLE || process.env.GLOBAL_FIELD_UID || process.env.SIMPLE_GLOBAL_FIELD_UID, // Simple global field
96+
gallery: process.env.GLOBAL_FIELD_MEDIUM || process.env.MEDIUM_GLOBAL_FIELD_UID, // Medium complexity
97+
content_block: process.env.GLOBAL_FIELD_COMPLEX || process.env.COMPLEX_GLOBAL_FIELD_UID, // Complex global field
98+
video_experience: process.env.GLOBAL_FIELD_VIDEO, // Video field
99+
referenced_data: 'referenced_data', // Generic field name (optional)
100+
nested: process.env.NESTED_GLOBAL_FIELD_UID // Nested global field (parent)
101+
},
102+
103+
// Reference field name (generic/common field name)
104+
referenceFields: {
105+
author: 'author'
20106
}
21107
};

0 commit comments

Comments
 (0)