Pass desktop export tests

This commit is contained in:
49lf
2024-11-25 14:17:46 -05:00
parent 4ac11ecf42
commit d8a21dd214
2 changed files with 34 additions and 41 deletions

View File

@ -1,39 +1,33 @@
import { test, expect } from '@playwright/test'
import { join } from 'path'
import { test, expect } from './zoo-test'
import path from 'path'
import {
getUtils,
setupElectron,
tearDown,
executorInputPath,
getPlaywrightDownloadDir,
} from './test-utils'
import fsp from 'fs/promises'
test.afterEach(async ({ page }, testInfo) => {
await tearDown(page, testInfo)
})
test(
'export works on the first try',
{ tag: '@electron' },
async ({ browserName }, testInfo) => {
const { electronApp, page } = await setupElectron({
testInfo,
folderSetupFn: async (dir) => {
const bracketDir = join(dir, 'bracket')
await Promise.all([fsp.mkdir(bracketDir, { recursive: true })])
await Promise.all([
fsp.copyFile(
executorInputPath('router-template-slate.kcl'),
join(bracketDir, 'other.kcl')
),
fsp.copyFile(
executorInputPath('focusrite_scarlett_mounting_braket.kcl'),
join(bracketDir, 'main.kcl')
),
])
},
})
await page.setViewportSize({ width: 1200, height: 500 })
async ({ page, context }, testInfo) => {
context.folderSetupFn(async (dir) => {
const bracketDir = path.join(dir, 'bracket')
await Promise.all([fsp.mkdir(bracketDir, { recursive: true })])
await Promise.all([
fsp.copyFile(
executorInputPath('router-template-slate.kcl'),
path.join(bracketDir, 'other.kcl')
),
fsp.copyFile(
executorInputPath('focusrite_scarlett_mounting_braket.kcl'),
path.join(bracketDir, 'main.kcl')
),
])
}),
await page.setBodyDimensions({ width: 1200, height: 500 })
page.on('console', console.log)
@ -93,12 +87,13 @@ test(
await expect(successToastMessage).toBeVisible()
await expect(exportingToastMessage).not.toBeVisible()
const firstFileFullPath = path.resolve(getPlaywrightDownloadDir(page), exportFileName)
await test.step('Check the export size', async () => {
await expect
.poll(
async () => {
try {
const outputGltf = await fsp.readFile(exportFileName)
const outputGltf = await fsp.readFile(firstFileFullPath)
return outputGltf.byteLength
} catch (e) {
return 0
@ -107,9 +102,6 @@ test(
{ timeout: 15_000 }
)
.toBeGreaterThan(300_000)
// clean up exported file
await fsp.rm(exportFileName)
})
})
@ -170,12 +162,13 @@ test(
expect(exportingToastMessage).not.toBeVisible(),
]))
const secondFileFullPath = path.resolve(getPlaywrightDownloadDir(page), exportFileName)
await test.step('Check the export size', async () => {
await expect
.poll(
async () => {
try {
const outputGltf = await fsp.readFile(exportFileName)
const outputGltf = await fsp.readFile(secondFileFullPath)
return outputGltf.byteLength
} catch (e) {
return 0
@ -184,13 +177,7 @@ test(
{ timeout: 15_000 }
)
.toBeGreaterThan(100_000)
// clean up exported file
await fsp.rm(exportFileName)
})
await electronApp.close()
})
await electronApp.close()
}
)