Files
studio-desktop/tests/integration/tempDirectory.ts
filteredandGitHub 0a966fc032 [Test] Add full installation end-to-end test (#897)
* Prefer Playwright test attachments to manual file handling

* Prefer granular wait steps over large CI start timeout

* nit

* Use automated screenshot tests

* Rename e2e test - Install Wizard

* Remove debug helper class

Test results in CI should now show proper substep detail automatically.

* Fix screenshot tests require extension in filename

* Add windows test expectations

* [Refactor] Move all test extensions to single shared import file

* Add test extensions - window, installWizard

* [Refactor] Clean up test

* Allow env overrides in Playwright tests

* Fix Playwright self-cleanup logic

* nit

* Remove unused code

* [Refactor] Remove unrelated function from test class

* Remove redundant disposable

* Finish TempDirectory impl.

* Fix vscode debugger issue

* Add instlal wiz input

* Add server start test object

* Add app full install test

* Remove unused disposable code

* Remove unused code

* nit

* Monitor electron process exit

* Remove debug code

* [Refactor] Clean up test API

* [Refactor] Use test API

* Add blockUI check for app loaded

* Do not report slow tests

* [Debug] Fix node-pty error - electron-rebuild

Check if sufficient tooling pre-installed on runners to rebuild node-pty.

* Revert "[Debug] Fix node-pty error - electron-rebuild"

This reverts commit c58c515018435873cb27785e6440a9a34b998a12.

* Fix CI Playwright test expectations differ from local

Suspect runner default res is 1024x768.

* Add electron-rebuild to windows build action (#898)

* Add electron-rebuild to windows build action

* Fix missing property: shell

* Update test expectation
2025-02-14 19:50:32 +11:00

19 lines
505 B
TypeScript

import { rm } from 'node:fs/promises';
import { tmpdir } from 'node:os';
import path from 'node:path';
import { addRandomSuffix, pathExists } from 'tests/shared/utils';
export class TempDirectory implements AsyncDisposable {
readonly path: string = path.join(tmpdir(), addRandomSuffix('ComfyUI'));
toString() {
return this.path;
}
async [Symbol.asyncDispose](): Promise<void> {
if (await pathExists(this.path)) {
await rm(this.path, { recursive: true, force: true });
}
}
}