From bigcommerce-commerce
Guides BigCommerce testing: API (REST/GraphQL), Stencil themes, Cypress/Playwright E2E, webhooks, sandbox stores for apps/themes/integrations.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin bigcommerce-commerceThis skill is limited to using the following tools:
**Fetch live docs**:
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Fetch live docs:
site:developer.bigcommerce.com testing for testing guidancebigcommerce stencil theme testing for theme testing patternsbigcommerce api testing sandbox for sandbox store setupBigCommerce provides sandbox/trial stores for testing:
Use tools like Postman, Insomnia, or curl:
curl -X GET \
https://api.bigcommerce.com/stores/{hash}/v3/catalog/products \
-H 'X-Auth-Token: {token}' \
-H 'Accept: application/json'
Write integration tests that exercise the BigCommerce API:
// Jest/Vitest example
describe('Products API', () => {
it('should create a product', async () => {
const response = await fetch(`${API_URL}/v3/catalog/products`, {
method: 'POST',
headers: { 'X-Auth-Token': TOKEN, 'Content-Type': 'application/json' },
body: JSON.stringify([{ name: 'Test Product', type: 'physical', price: 9.99, weight: 1 }]),
});
expect(response.status).toBe(200);
const data = await response.json();
expect(data.data[0].name).toBe('Test Product');
// Cleanup: delete the test product
});
});
X-Rate-Limit-Requests-Left header in testspageInfo / meta.pagination correctlyUse GraphQL explorers to test queries:
graphql-request libraryhttps://{store_url}/graphqlAuthorization: Bearer {storefront_token} headerdescribe('GraphQL Storefront', () => {
it('should fetch products', async () => {
const query = `{ site { products(first: 5) { edges { node { name entityId } } } } }`;
const response = await fetch(`${STORE_URL}/graphql`, {
method: 'POST',
headers: { Authorization: `Bearer ${STOREFRONT_TOKEN}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ query }),
});
const { data } = await response.json();
expect(data.site.products.edges.length).toBeGreaterThan(0);
});
});
stencil start provides a local development server:
config.json variations)stencil bundle validates the theme before upload:
Use tunneling tools for local webhook development:
ngrok http 3000 — expose local port to public URLLog all webhook payloads during development for replay testing:
Test complete user flows against a running BigCommerce store:
// Playwright example
test('complete purchase flow', async ({ page }) => {
await page.goto('/products/test-product');
await page.click('button:has-text("Add to Cart")');
await page.goto('/cart');
await page.click('a:has-text("Proceed to Checkout")');
// Fill checkout fields...
await page.click('button:has-text("Place Order")');
await expect(page.locator('.order-confirmation')).toBeVisible();
});
Fetch the BigCommerce developer documentation for current testing guidance, sandbox store setup, and API testing patterns before implementing.