feat(spotify): implement milestone M4 importers
This commit is contained in:
21
skills/spotify/tests/folder.test.ts
Normal file
21
skills/spotify/tests/folder.test.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
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);
|
||||
});
|
||||
Reference in New Issue
Block a user