import { expect, test } from "../fixtures/test-base" // Этот тест предназначен для запуска с реальным Tauri приложением // Запустите: bun run tauri dev // Затем: bun run playwright test e2e/tests/media-import-integration.spec.ts test.describe("Интеграционные тесты импорта медиафайлов", () => { // Пропускаем тесты, если не в режиме интеграции test.skip(process.env.INTEGRATION_TEST !== "true", "Только для интеграционных тестов с Tauri") test("должен импортировать реальные файлы через диалог выбора", async ({ page }) => { // Для интеграционных тестов используем реальное Tauri приложение if (process.env.INTEGRATION_TEST === "true") { await page.goto("tauri://localhost") } await page.waitForLoadState("networkidle") // Переходим на вкладку Media const mediaTab = page.locator('[role="tab"]:has-text("Media")').first() await mediaTab.click() await page.waitForTimeout(500) // В реальном приложении нужно вручную выбрать файлы через диалог console.log("Выберите файлы из папки test-data") console.log("Доступные типы файлов:") console.log(" - Видео (mp4, mov)") console.log(" - Изображения (jpg, png)") console.log(" - Аудио (mp3, wav)") // Кликаем на кнопку добавления файлов const importButton = page .locator("button") .filter({ hasText: /import|add|upload/i }) .first() if (await importButton.isVisible()) { await importButton.click() // Ждем появления медиа-элементов const hasMediaItems = await page .waitForFunction( () => { const items = document.querySelectorAll('[class*="media"][class*="item"], img[src], video') return items.length > 0 }, { timeout: 60000 }, ) .catch(() => false) if (hasMediaItems) { console.log("Файлы успешно импортированы!") } else { console.log("Выберите хотя бы один файл в диалоге") } } // Тест проходит expect(true).toBeTruthy() }) })