diff --git a/ketcher-autotests/tests/File-Management/Open-And-Save-Files/open-save-files.spec.ts b/ketcher-autotests/tests/File-Management/Open-And-Save-Files/open-save-files.spec.ts new file mode 100644 index 0000000000..a4b2645c42 --- /dev/null +++ b/ketcher-autotests/tests/File-Management/Open-And-Save-Files/open-save-files.spec.ts @@ -0,0 +1,66 @@ +import { test, expect } from '@playwright/test'; +import { + TopPanelButton, + selectTopPanelButton, + takeEditorScreenshot, + waitForPageInit, +} from '@utils'; + +test.describe('Open Ketcher', () => { + test.beforeEach(async ({ page }) => { + await waitForPageInit(page); + }); + + test('Open button tooltip', async ({ page }) => { + // Test case: EPMLSOPKET-1833 + const button = page.getByTestId('open-file-button'); + await expect(button).toHaveAttribute('title', 'Open... (Ctrl+O)'); + }); + + test('Open button UI', async ({ page }) => { + // Test case: EPMLSOPKET-1834 + await selectTopPanelButton(TopPanelButton.Open, page); + await takeEditorScreenshot(page); + }); + + test('Save button tooltip', async ({ page }) => { + // Test case: EPMLSOPKET-1842 + const button = page.getByTestId('save-file-button'); + await expect(button).toHaveAttribute('title', 'Save as... (Ctrl+S)'); + }); + + test('Save button UI', async ({ page }) => { + // Test case: EPMLSOPKET-1843 + await selectTopPanelButton(TopPanelButton.Save, page); + await takeEditorScreenshot(page, { + masks: [page.getByTestId('mol-preview-area-text')], + }); + }); + + const fileFormats = [ + 'Ket Format-option', + 'MDL Molfile V2000-option', + 'MDL Molfile V3000-option', + 'SDF V2000-option', + 'SDF V3000-option', + 'Daylight SMARTS-option', + 'Extended SMILES-option', + 'CML-option', + 'InChI-option', + 'InChI AuxInfo-option', + 'InChIKey-option', + 'SVG Document-option', + 'PNG Image-option', + 'CDXML-option', + 'Base64 CDX-option', + 'CDX-option', + ]; + for (const fileFormat of fileFormats) { + test(`dropdown options check_${fileFormat}`, async ({ page }) => { + await selectTopPanelButton(TopPanelButton.Save, page); + await page.getByRole('button', { name: 'MDL Molfile V2000' }).click(); + const option = page.getByTestId(fileFormat); + await expect(option).toBeVisible(); + }); + } +}); diff --git a/ketcher-autotests/tests/File-Management/Open-And-Save-Files/open-save-files.spec.ts-snapshots/Open-Ketcher-Open-button-UI-1-chromium-linux.png b/ketcher-autotests/tests/File-Management/Open-And-Save-Files/open-save-files.spec.ts-snapshots/Open-Ketcher-Open-button-UI-1-chromium-linux.png new file mode 100644 index 0000000000..6e4baf28ba Binary files /dev/null and b/ketcher-autotests/tests/File-Management/Open-And-Save-Files/open-save-files.spec.ts-snapshots/Open-Ketcher-Open-button-UI-1-chromium-linux.png differ diff --git a/ketcher-autotests/tests/File-Management/Open-And-Save-Files/open-save-files.spec.ts-snapshots/Open-Ketcher-Save-button-UI-1-chromium-linux.png b/ketcher-autotests/tests/File-Management/Open-And-Save-Files/open-save-files.spec.ts-snapshots/Open-Ketcher-Save-button-UI-1-chromium-linux.png new file mode 100644 index 0000000000..9f40cdcbbb Binary files /dev/null and b/ketcher-autotests/tests/File-Management/Open-And-Save-Files/open-save-files.spec.ts-snapshots/Open-Ketcher-Save-button-UI-1-chromium-linux.png differ