penpot/frontend/playwright/ui/specs/viewer-inspect-exports.spec.js
Alonso Torres 5b6041624a
🐛 Fix export presets not preserved in view mode inspect (#9972)
* 🐛 Fix export presets not preserved in view mode inspect

* 🐛 Changes after review
2026-06-11 13:33:48 +02:00

50 lines
1.7 KiB
JavaScript

import { test, expect } from "@playwright/test";
import { ViewerPage } from "../pages/ViewerPage";
test.beforeEach(async ({ page }) => {
await ViewerPage.init(page);
});
const multipleBoardsFileId = "dd5cc0bb-91ff-81b9-8004-77df9cd3edb0";
const multipleBoardsPageId = "dd5cc0bb-91ff-81b9-8004-77df9cd3edb3";
test("[View mode] Export presets are preserved when navigating between boards in inspect mode", async ({
page,
}) => {
const viewer = new ViewerPage(page);
await viewer.setupLoggedInUser();
await viewer.setupFileWithMultipleBoards();
await viewer.goToViewer({
fileId: multipleBoardsFileId,
pageId: multipleBoardsPageId,
});
// Enter inspect (code) mode
await viewer.showCode();
// Wait for the inspect panel to load
await page.waitForSelector(".main_ui_inspect_exports__add-export");
// Add an export preset via the "+" button in the Export section
const addExportButton = page.locator(".main_ui_inspect_exports__add-export");
await addExportButton.click();
// Verify the "Export 1 element" button appears, confirming the preset was added
const exportButton = page.getByRole("button", { name: "Export 1 element" });
await expect(exportButton).toBeVisible();
// Navigate to another board
const nextButton = page.getByRole("button", { name: "Next" });
await nextButton.click();
await expect(page).toHaveURL(/&index=1/);
// Navigate back to the first board
const prevButton = page.locator(".main_ui_viewer__viewer-go-prev");
await prevButton.click();
await expect(page).toHaveURL(/&index=0/);
// Export preset should still be visible after returning to the first board
await expect(exportButton).toBeVisible();
});