AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Write Playwright Campaigns

skill-jeffsenso-prestashop-skills-write-playwright-campaigns · by jeffsenso

>

No reviews yet
0 installs
35 views
0.0% view→install

Install

$ agentstack add skill-jeffsenso-prestashop-skills-write-playwright-campaigns

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-jeffsenso-prestashop-skills-write-playwright-campaigns)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Write Playwright Campaigns? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

write-playwright-campaigns

Read @.ai/Component/Playwright/CONTEXT.md for conventions (testIdentifier, baseContext, Mocha structure, POM usage).

1. Directory and naming

Place campaigns in tests/UI/campaigns/functional/BO/{XX_section}/{XX_subsection}/:

  • Follow existing numbering convention (XX_ prefix)
  • Each campaign file: XX_descriptiveName.ts
  • CRUD is typically 01_, filter is 02_, bulk is 03_, position is 04_, tab-specific start at 05_

2. Campaign boilerplate

Every campaign follows this structure:

import testContext from '@utils/testContext';
import {expect} from 'chai';
import {
  boDashboardPage, boLoginPage, bo{Domain}Page, bo{Domain}CreatePage,
  type BrowserContext, Faker{Domain}, type Page, utilsPlaywright,
} from '@prestashop-core/ui-testing';

const baseContext: string = 'functional_BO_{section}_{subsection}_{campaignName}';

describe('BO - {Section} : {Campaign description}', async () => {
  let browserContext: BrowserContext;
  let page: Page;

  before(async function () {
    browserContext = await utilsPlaywright.createBrowserContext(this.browser);
    page = await utilsPlaywright.newTab(browserContext);
  });

  after(async () => {
    await utilsPlaywright.closeBrowserContext(browserContext);
  });

  it('should login in BO', async function () {
    await testContext.addContextItem(this, 'testIdentifier', 'loginBO', baseContext);
    // ...login steps...
  });

  // ... test steps ...
});

3. CRUD campaign (01_CRUD{Domain}.ts)

  • Create: navigate to add page, fill fields using Faker{Domain}, save, assert success message
  • Verify in list: navigate to index, assert entity visible in grid
  • Edit: navigate to edit, change fields, save, assert success message
  • Verify edit: confirm updated values in grid
  • Delete: click delete row action, confirm modal, assert entity removed

4. Filter/sort campaign (02_filterSort{Domain}s.ts)

  • Create entities with distinct values for each filterable field
  • For each filter: apply → assert matching rows → reset → assert all rows
  • For each sortable column: sort ascending → verify order → sort descending → verify reverse
  • Use data-driven patterns with forEach for multiple filter tests

5. Bulk actions campaign (03_quickEditAndBulkActions.ts)

Conditional — only if bulk actions exist:

  • Create multiple entities
  • Quick-edit toggle: click toggle switch, verify status changed without page reload (AJAX)
  • Bulk enable/disable: select rows, click bulk action, verify status change
  • Bulk delete: select rows, click bulk delete, confirm modal, verify removed

6. Position campaign (04_changePosition.ts)

Conditional — only if entity has PositionColumn:

  • Create entities with distinct names
  • Read initial order
  • Drag row to new position using page.dragAndDrop()
  • Verify new order in DOM
  • Reload page and verify persistence — critical to confirm DB was updated

7. Per-tab campaigns (05_tabName.ts, 06_tabName.ts, ...)

Conditional — only for multi-tab forms:

  • One campaign per form tab
  • Create entity with minimal data
  • Navigate to edit, switch to target tab
  • Fill every field in that tab
  • Save, reload, verify each field persisted
  • Test multilingual fields in at least 2 languages

8. Common tests (reusable blocks)

Check tests/UI/commonTests/BO/ for existing reusable describe blocks:

import {createProductTest, deleteProductTest} from '@commonTests/BO/catalog/product';

// Use as pre/post test setup
createProductTest(productData, baseContext);
// ... your test ...
deleteProductTest(productData, baseContext);

Import and reuse these instead of duplicating setup/teardown logic.

Rules

Conventions (testIdentifier, function() not arrow, feature flag setup, toggle AJAX, drag-and-drop, per-tab campaigns, campaign numbering) are in [Playwright/CONTEXT.md](../../CONTEXT.md). Skill-specific reminders:

  • Assert success flash after every create/edit/delete — never assume success
  • Use page object methods for interactions — never write raw selectors in campaigns
  • Campaigns import from @prestashop-core/ui-testing — page objects and data are in the external library

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.