const { test, expect } = require('@playwright/test'); const { waitForEditor } = require('./helpers'); test.describe('Debug Media Category Blocks', () => { test('investigate what blocks are in Media category', async ({ page }) => { await waitForEditor(page); // Check all registered blocks via the GrapesJS API const blockManagerInfo = await page.evaluate(() => { const editor = window.editor; if (!editor) return { error: 'No editor found' }; const blockManager = editor.BlockManager; const allBlocks = blockManager.getAll(); const blockInfo = allBlocks.map(block => { const cat = block.get('category'); return { id: block.id, label: block.get('label'), category: typeof cat === 'string' ? cat : (cat && cat.id), }; }); const mediaBlocks = blockInfo.filter(b => b.category === 'Media'); return { totalBlocks: allBlocks.length, blocks: blockInfo, mediaBlocks: mediaBlocks }; }); console.log('Total blocks registered:', blockManagerInfo.totalBlocks); console.log('Media category blocks:', JSON.stringify(blockManagerInfo.mediaBlocks, null, 2)); // Verify we have at least 3 media blocks expect(blockManagerInfo.mediaBlocks.length).toBeGreaterThanOrEqual(3); // Verify expected blocks are present const mediaIds = blockManagerInfo.mediaBlocks.map(b => b.id); expect(mediaIds).toContain('image-block'); expect(mediaIds).toContain('video-block'); expect(mediaIds).toContain('file-embed'); }); });