Help us improve
Share bugs, ideas, or general feedback.
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-commerceHow this skill is triggered — by the user, by Claude, or both
Slash command
/bigcommerce-commerce:bc-testingThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Fetch live docs**:
Sets up BigCommerce dev environment: Stencil CLI for themes, API credentials, sandbox stores, Catalyst Next.js storefront. For new projects or tool configuration.
Guides Shopify app testing: Vitest units, Playwright E2E/integration, Theme Check linting, Functions/webhooks/extensions, and CI/CD pipelines.
Sets up local Shopify app development with Shopify CLI scaffolding, ngrok tunneling for webhooks, hot reload, and Vitest testing.
Share bugs, ideas, or general feedback.
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.