ip-operator-evidence-workbench.spec.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. import { expect, Page, test } from '@playwright/test';
  2. import path from 'node:path';
  3. declare global {
  4. interface Window {
  5. __seedIpOperatorScenario?: (scenario: 'ready') => unknown;
  6. }
  7. }
  8. const scenarioSeedPath = path.resolve(__dirname, '../scripts/validation/ip-operator-scenario-seed.js');
  9. async function seedReadyScenario(page: Page) {
  10. await page.addInitScript({ path: scenarioSeedPath });
  11. await page.addInitScript(() => {
  12. window.__seedIpOperatorScenario?.('ready');
  13. localStorage.setItem('tiktok.currentTab', 'ip-operator');
  14. });
  15. }
  16. test('evidence workspace exposes account works and comments without legacy V1 forms', async ({ page }) => {
  17. await seedReadyScenario(page);
  18. await page.goto('/');
  19. await expect(page.locator('.ip-operator-page')).toBeVisible();
  20. await page.getByRole('button', { name: '证据 作品与评论' }).click();
  21. await expect(page.locator('.account-monitor-panel')).toContainText('账号作品与评论样本');
  22. await expect(page.locator('.account-monitor-work-list article').first()).toBeVisible();
  23. await expect(page.locator('.account-monitor-work-list')).toContainText('评论');
  24. await expect(page.getByRole('button', { name: '保存证据' })).toHaveCount(0);
  25. await expect(page.getByRole('button', { name: '分析痛点' })).toHaveCount(0);
  26. await expect(page.locator('.legacy-plan-archive')).toHaveCount(0);
  27. });