UNPKG

@rnm/tscx

Version:

A tsc wrapper with many convenient features.

40 lines (33 loc) 1.34 kB
import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; import { afterAll, beforeAll, describe, expect, it } from "vitest"; import { remove } from "./remove.ts"; const TMP = os.tmpdir(); const tmpFilePath = path.resolve(TMP, "tscx_tmp_file_name"); const tmpDirPath = path.resolve(TMP, "tscx_tmp_dir_name"); const tmpDirPathChild = path.resolve(tmpDirPath, "tscx_tmp_dir_name_child"); describe("remove", () => { beforeAll(async () => { await fs.writeFile(tmpFilePath, "foo"); await fs.mkdir(tmpDirPath); await fs.mkdir(tmpDirPathChild); await fs.writeFile(path.resolve(tmpDirPathChild, "file"), "bar"); }); afterAll(async () => { await fs.rm(tmpFilePath, { force: true }); await fs.rm(tmpDirPath, { force: true, recursive: true }); }); it("should remove file", async () => { expect((await fs.stat(tmpFilePath)).isFile()).toBe(true); expect(fs.access(tmpFilePath)).resolves.toBeUndefined(); await remove(tmpFilePath); expect(fs.access(tmpFilePath)).rejects.toBeInstanceOf(Error); }); it("show remove dir", async () => { expect((await fs.stat(tmpDirPath)).isDirectory()).toBe(true); expect(fs.access(tmpDirPath)).resolves.toBeUndefined(); await remove(tmpDirPath); expect(fs.access(tmpDirPath)).rejects.toBeInstanceOf(Error); }); });