22 lines
977 B
TypeScript
22 lines
977 B
TypeScript
import assert from "node:assert/strict";
|
|
import { mkdir, mkdtemp, writeFile } from "node:fs/promises";
|
|
import { join } from "node:path";
|
|
import { tmpdir } from "node:os";
|
|
import { test } from "node:test";
|
|
|
|
import { readFolder } from "../src/importers/folder.js";
|
|
|
|
test("recursively reads audio filenames and ignores non-audio files", async () => {
|
|
const root = await mkdtemp(join(tmpdir(), "spotify-folder-"));
|
|
await mkdir(join(root, "nested"));
|
|
await writeFile(join(root, "01 - Radiohead - Karma Police.mp3"), "");
|
|
await writeFile(join(root, "cover.jpg"), "");
|
|
await writeFile(join(root, "nested", "02 - Massive Attack - Teardrop.flac"), "");
|
|
|
|
const refs = await readFolder(root);
|
|
|
|
assert.equal(refs.some((ref) => ref.artist === "Radiohead" && ref.title === "Karma Police"), true);
|
|
assert.equal(refs.some((ref) => ref.artist === "Massive Attack" && ref.title === "Teardrop"), true);
|
|
assert.equal(refs.some((ref) => ref.source.includes("cover")), false);
|
|
});
|