mirror of
https://github.com/photoprism/photoprism.git
synced 2025-12-12 00:34:13 +01:00
* Tests: convert all common tests from mocha to karma * Tests: refactor Vuetify setup in tests * Tests: update package-lock.json * Tests: convert all model test to vitest 1/2 * Tests: convert all model test to vitest 2/2 * Tests: fix broken test * Tests: time zone UTC * Tests: Add playwright screenshots folder to gitignore * Tests: Add timezone to vitest scripts * Tests: Add Vitest scripts to Makefile * Tests: delete unused timezone configs * Tests: Update some tests * Tests: Update vitest config * Tests: Delete usesless try-catch
238 lines
6.1 KiB
JavaScript
238 lines
6.1 KiB
JavaScript
import { describe, it, expect } from "vitest";
|
|
import "../fixtures";
|
|
import Folder from "model/folder";
|
|
|
|
describe("model/folder", () => {
|
|
it("should return classes", () => {
|
|
const values = {
|
|
Folder: true,
|
|
Path: "2011/10-Halloween",
|
|
UID: "dqbevau2zlhxrxww",
|
|
Title: "Halloween Party",
|
|
Favorite: true,
|
|
Private: true,
|
|
Ignore: false,
|
|
Watch: false,
|
|
FileCount: 0,
|
|
};
|
|
const folder = new Folder(values);
|
|
const result = folder.classes(true);
|
|
expect(result).toContain("is-folder");
|
|
expect(result).toContain("uid-dqbevau2zlhxrxww");
|
|
expect(result).toContain("is-favorite");
|
|
expect(result).toContain("is-private");
|
|
expect(result).toContain("is-selected");
|
|
});
|
|
|
|
it("should get folder defaults", () => {
|
|
const values = {
|
|
Folder: true,
|
|
Path: "2011/10-Halloween",
|
|
Root: "",
|
|
UID: "dqbevau2zlhxrxww",
|
|
Type: "",
|
|
Title: "Halloween Party",
|
|
Category: "",
|
|
Description: "",
|
|
Order: "",
|
|
Country: "",
|
|
Year: "",
|
|
Month: "",
|
|
Favorite: false,
|
|
Private: false,
|
|
Ignore: false,
|
|
Watch: false,
|
|
FileCount: 0,
|
|
CreatedAt: "",
|
|
UpdatedAt: "",
|
|
};
|
|
const model = new Folder(values);
|
|
const result = model.getDefaults();
|
|
expect(result.Folder).toBe(true);
|
|
expect(result.Path).toBe("");
|
|
expect(result.Favorite).toBe(false);
|
|
});
|
|
|
|
it("should get folder base name", () => {
|
|
const values = {
|
|
Folder: true,
|
|
Path: "2011/10-Halloween",
|
|
Root: "",
|
|
UID: "dqbevau2zlhxrxww",
|
|
Type: "",
|
|
Title: "Halloween Party",
|
|
Category: "",
|
|
Description: "",
|
|
Order: "",
|
|
Country: "",
|
|
Year: "",
|
|
Month: "",
|
|
Favorite: false,
|
|
Private: false,
|
|
Ignore: false,
|
|
Watch: false,
|
|
FileCount: 0,
|
|
CreatedAt: "",
|
|
UpdatedAt: "",
|
|
};
|
|
const folder = new Folder(values);
|
|
const result = folder.baseName();
|
|
expect(result).toBe("10-Halloween");
|
|
const result2 = folder.baseName(8);
|
|
expect(result2).toBe("10-Hall…");
|
|
});
|
|
|
|
it("should return false", () => {
|
|
const values = {
|
|
Folder: true,
|
|
Path: "2011/10-Halloween",
|
|
UID: "dqbevau2zlhxrxww",
|
|
Title: "Halloween Party",
|
|
};
|
|
const folder = new Folder(values);
|
|
expect(folder.isFile()).toBe(false);
|
|
});
|
|
|
|
it("should return entity name", () => {
|
|
const values = {
|
|
Folder: true,
|
|
Path: "2011/10-Halloween",
|
|
Root: "",
|
|
UID: "dqbevau2zlhxrxww",
|
|
Title: "Halloween Party",
|
|
};
|
|
const folder = new Folder(values);
|
|
expect(folder.getEntityName()).toBe("/2011/10-Halloween");
|
|
});
|
|
|
|
it("should return thumbnail url", () => {
|
|
const values = {
|
|
Folder: true,
|
|
Path: "2011/10-Halloween",
|
|
Root: "",
|
|
UID: "dqbevau2zlhxrxww",
|
|
Title: "Halloween Party",
|
|
};
|
|
const folder = new Folder(values);
|
|
expect(folder.thumbnailUrl("tile_224")).toBe("/api/v1/folders/t/dqbevau2zlhxrxww/public/tile_224");
|
|
});
|
|
|
|
it("should get date string", () => {
|
|
const values = {
|
|
Folder: true,
|
|
Path: "2011/10-Halloween",
|
|
Root: "",
|
|
UID: "dqbevau2zlhxrxww",
|
|
Title: "Halloween Party",
|
|
CreatedAt: "2012-07-08T14:45:39Z",
|
|
UpdatedAt: "2012-07-08T14:45:39Z",
|
|
};
|
|
const folder = new Folder(values);
|
|
expect(folder.getDateString().replaceAll("\u202f", " ")).toBe("Jul 8, 2012, 2:45 PM");
|
|
});
|
|
|
|
it("should toggle like", () => {
|
|
const values = {
|
|
Folder: true,
|
|
Path: "2011/10-Halloween",
|
|
Root: "",
|
|
UID: "dqbevau2zlhxrxww",
|
|
Title: "Halloween Party",
|
|
Favorite: true,
|
|
Private: true,
|
|
};
|
|
const folder = new Folder(values);
|
|
expect(folder.Favorite).toBe(true);
|
|
folder.toggleLike();
|
|
expect(folder.Favorite).toBe(false);
|
|
folder.toggleLike();
|
|
expect(folder.Favorite).toBe(true);
|
|
});
|
|
|
|
it("should like folder", () => {
|
|
const values = {
|
|
Folder: true,
|
|
Path: "2011/10-Halloween",
|
|
Root: "",
|
|
UID: "dqbevau2zlhxrxww",
|
|
Title: "Halloween Party",
|
|
Favorite: false,
|
|
Private: true,
|
|
};
|
|
const folder = new Folder(values);
|
|
expect(folder.Favorite).toBe(false);
|
|
folder.like();
|
|
expect(folder.Favorite).toBe(true);
|
|
});
|
|
|
|
it("should unlike folder", () => {
|
|
const values = {
|
|
Folder: true,
|
|
Path: "2011/10-Halloween",
|
|
Root: "",
|
|
UID: "dqbevau2zlhxrxww",
|
|
Title: "Halloween Party",
|
|
Favorite: true,
|
|
Private: true,
|
|
};
|
|
const folder = new Folder(values);
|
|
expect(folder.Favorite).toBe(true);
|
|
folder.unlike();
|
|
expect(folder.Favorite).toBe(false);
|
|
});
|
|
|
|
it("should get collection resource", () => {
|
|
const result = Folder.getCollectionResource();
|
|
expect(result).toBe("folders");
|
|
});
|
|
|
|
it("should get model name", () => {
|
|
const result = Folder.getModelName();
|
|
expect(result).toBe("Folder");
|
|
});
|
|
|
|
it("should test find all", async () => {
|
|
try {
|
|
const response = await Folder.findAll("2011/10-Halloween");
|
|
expect(response.status).toBe(200);
|
|
expect(response.count).toBe(4);
|
|
expect(response.folders).toBe(3);
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
});
|
|
|
|
it("should test find all uncached", async () => {
|
|
try {
|
|
const response = await Folder.findAllUncached("2011/10-Halloween");
|
|
expect(response.status).toBe(200);
|
|
expect(response.count).toBe(3);
|
|
expect(response.folders).toBe(2);
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
});
|
|
|
|
it("should test find in originals", async () => {
|
|
try {
|
|
const response = await Folder.originals("2011/10-Halloween", { recursive: true });
|
|
expect(response.status).toBe(200);
|
|
expect(response.count).toBe(4);
|
|
expect(response.folders).toBe(3);
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
});
|
|
|
|
it("should test search", async () => {
|
|
try {
|
|
const response = await Folder.search("2011/10-Halloween", { recursive: true, uncached: true });
|
|
expect(response.status).toBe(200);
|
|
expect(response.count).toBe(3);
|
|
expect(response.folders).toBe(2);
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
});
|
|
});
|