testing

द्वारा contentstack

परीक्षण कैसे चलाएँ और विस्तारित करें — Mocha यूनिट, sanity API, Jest TypeScript; env और mocks।

npx skills add https://github.com/contentstack/contentstack-management-javascript --skill testing

Testing – Contentstack Management JavaScript SDK

When to use

  • Running npm run test:unit, sanity, or Jest.
  • Adding or changing tests under test/unit/ or test/sanity-check/.
  • Configuring env vars for live CMA sanity runs.

Instructions

Commands (from package.json)

GoalCommand
Lint (pre-test hook)npm run lint
Default npm testRuns test:api then test:unit — confirm test:api exists in your branch; else use test:unit
Unit onlynpm run test:unit — Mocha test/unit/index.js, nyc
Unit JSON reportnpm run test:unit:report:json
Sanity + coveragenpm run test:sanity-test
Sanity, no nycnpm run test:sanity-nocov
TypeScript / Jestnpm run test:typescript

Always npm run build before sanity if dist/node/contentstack-management.js must match lib/ (sanity imports the built artifact).

Unit tests (test/unit/)

  • Mocha + Chai + @babel/register; 30s timeout per script.
  • HTTP: mock with Nock, axios-mock-adapter, or stubs — no live CMA.
  • Suites are required from test/unit/index.js — add new *-test.js files and register them there.

Sanity tests (test/sanity-check/)

  • Live CMA calls; orchestrated by test/sanity-check/sanity.js.
  • Authoritative env list: test/sanity-check/utility/testSetup.js (and sanity.js).

Environment variables

Required (core) — setup fails without: EMAIL, PASSWORD, HOST, ORGANIZATION.

Suite-specific (tests skip or degrade when missing):

AreaVariablesNotes
OAuthCLIENT_ID, APP_ID, REDIRECT_URIoauth-test.js
2FATFA_EMAIL, TFA_PASSWORDuser-test.js
MFAMFA_SECRETuser-test.js
Team / shareMEMBER_EMAILteam-test.js, stack-test.js
DAM 2.0DAM_2_0_ENABLED=trueentry-test.js

Optional: PERSONALIZE_HOST, DELETE_DYNAMIC_RESOURCES (defaults in setup). Set HOST to your CMA API host.

Runtime: setup assigns API_KEY, AUTHTOKEN, MANAGEMENT_TOKEN, etc. — do not commit those.

Jest (test/typescript/)

  • jest.config.js: ts-jest, coverage under coverage/.

Hygiene

  • No committed only / skip for CI-needed tests.
  • Never commit real tokens in tests or snapshots.

contentstack की और Skills

cms-assets
contentstack
डेवलपर्स को Contentstack में एसेट्स को व्यवस्थित करने, वितरित करने और बदलने के बारे में सलाह दें। फोल्डर संरचना, Image Delivery API ट्रांसफॉर्मेशन, प्रकाशन कवर करें...
cms-branches-aliases
contentstack
डेवलपर्स को Contentstack branches का उपयोग करके पृथक सामग्री विकास और aliases के लिए शून्य-डाउनटाइम सामग्री परिनियोजन पर सलाह दें। Branch रणनीति को कवर करें,…
cms-data-modeling-best-practices
contentstack
डेवलपर्स को Contentstack में कंटेंट मॉडल करने के लिए सबसे सरल पुन: प्रयोज्य संरचना का उपयोग करने का मार्गदर्शन करें। यह स्किल बताती है कि कंटेंट टाइप, रेफरेंस, ग्लोबल… का उपयोग कब करना चाहिए।
cms-live-preview-visual-builder-support-assistant
contentstack
Contentstack Live Preview और Visual Builder कार्यान्वयनों का निदान और मार्गदर्शन करें। पूर्वावलोकन संदर्भ का पता लगाएं, टूटे हुए अनुबंध की पहचान करें, और अनुशंसा करें…
cms-releases
contentstack
डेवलपर्स को समन्वित, परमाणु सामग्री परिनियोजन के लिए Contentstack Releases का उपयोग करने पर सलाह दें। रिलीज़ निर्माण, आइटम प्रबंधन, चरणबद्ध परिनियोजन को शामिल करें,…
cms-roles-permissions
contentstack
डेवलपर्स को Contentstack में भूमिकाओं, अनुमतियों, टीमों और टोकन एक्सेस डिज़ाइन करने पर सलाह दें। बिल्ट-इन भूमिकाओं, कस्टम भूमिकाओं, अनुमति विलय,… की व्याख्या करें।
cms-taxonomy
contentstack
डेवलपर्स को संरचित, श्रेणीबद्ध सामग्री वर्गीकरण और डिलीवरी-पक्ष फ़िल्टरिंग के लिए Contentstack Taxonomy का उपयोग करने पर सलाह दें। Taxonomy बनाम tags को कवर करता है,…
cms-tokens-authentication
contentstack
डेवलपर्स को फ्रंटएंड, बैकएंड, ऑटोमेशन और थर्ड-पार्टी ऐप उपयोग के मामलों के लिए सही Contentstack प्रमाणीकरण विधि और टोकन प्रकार चुनने पर सलाह दें।…