mirror of
https://github.com/photoprism/photoprism.git
synced 2025-12-11 16:24:11 +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
200 lines
7.2 KiB
JavaScript
200 lines
7.2 KiB
JavaScript
import { describe, it, expect } from 'vitest';
|
|
import "../fixtures";
|
|
import Rest from "model/rest";
|
|
import Album from "model/album";
|
|
import Label from "model/label";
|
|
import Link from "model/link";
|
|
|
|
describe("model/abstract", () => {
|
|
it("should set values", () => {
|
|
const values = { ID: 5, Name: "Black Cat", Slug: "black-cat" };
|
|
const label = new Label(values);
|
|
expect(label.Name).toBe("Black Cat");
|
|
expect(label.Slug).toBe("black-cat");
|
|
label.setValues();
|
|
expect(label.Name).toBe("Black Cat");
|
|
expect(label.Slug).toBe("black-cat");
|
|
const values2 = { ID: 6, Name: "White Cat", Slug: "white-cat" };
|
|
label.setValues(values2);
|
|
expect(label.Name).toBe("White Cat");
|
|
expect(label.Slug).toBe("white-cat");
|
|
});
|
|
|
|
it("should get values", () => {
|
|
const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
const result = album.getValues();
|
|
expect(result.Name).toBe("Christmas 2019");
|
|
expect(result.UID).toBe(66);
|
|
});
|
|
|
|
it("should get id", () => {
|
|
const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
const result = album.getId();
|
|
expect(result).toBe(66);
|
|
});
|
|
|
|
it("should test if id exists", () => {
|
|
const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
const result = album.hasId();
|
|
expect(result).toBe(true);
|
|
});
|
|
|
|
it("should get model name", () => {
|
|
const result = Rest.getModelName();
|
|
expect(result).toBe("Item");
|
|
});
|
|
|
|
it("should update album", async () => {
|
|
const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
expect(album.Description).toBeUndefined();
|
|
album.Name = "Christmas 2020";
|
|
await album.update();
|
|
expect(album.Description).toBe("Test description");
|
|
});
|
|
|
|
it("should save album", async () => {
|
|
const values = { UID: "abc", Name: "Christmas 2019", Slug: "christmas-2019" };
|
|
const album = new Album(values);
|
|
album.Name = "Christmas 2020";
|
|
expect(album.Description).toBeUndefined();
|
|
await album.save();
|
|
expect(album.Description).toBe("Test description");
|
|
|
|
const values2 = { Name: "Christmas 2019", Slug: "christmas-2019" };
|
|
const album2 = new Album(values2);
|
|
album2.Name = "Christmas 2020";
|
|
expect(album2.Description).toBeUndefined();
|
|
const response = await album2.save();
|
|
expect(response.success).toBe("ok");
|
|
expect(album2.Description).toBeUndefined();
|
|
});
|
|
|
|
it("should remove album", async () => {
|
|
const values = { UID: "abc", Name: "Christmas 2019", Slug: "christmas-2019" };
|
|
const album = new Album(values);
|
|
expect(album.Name).toBe("Christmas 2019");
|
|
await album.remove();
|
|
});
|
|
|
|
it("should get edit form", async () => {
|
|
const values = { UID: "abc", Name: "Christmas 2019", Slug: "christmas-2019" };
|
|
const album = new Album(values);
|
|
const result = await album.getEditForm();
|
|
expect(result.definition.foo).toBe("edit");
|
|
});
|
|
|
|
it("should get create form", async () => {
|
|
const result = await Album.getCreateForm();
|
|
expect(result.definition.foo).toBe("bar");
|
|
});
|
|
|
|
it("should get search form", async () => {
|
|
const result = await Album.getSearchForm();
|
|
expect(result.definition.foo).toBe("bar");
|
|
});
|
|
|
|
it("should search label", async () => {
|
|
const result = await Album.search();
|
|
expect(result.data.ID).toBe(51);
|
|
expect(result.data.Name).toBe("tabby cat");
|
|
});
|
|
|
|
it("should get collection resource", () => {
|
|
expect(Rest.getCollectionResource()).toBe("");
|
|
});
|
|
|
|
it("should get slug", () => {
|
|
const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
const result = album.getSlug();
|
|
expect(result).toBe("christmas-2019");
|
|
});
|
|
|
|
it("should get slug", () => {
|
|
const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
const result = album.clone();
|
|
expect(result.Slug).toBe("christmas-2019");
|
|
expect(result.Name).toBe("Christmas 2019");
|
|
expect(result.ID).toBe(5);
|
|
});
|
|
|
|
it("should find album", async () => {
|
|
const values = { Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
const response = await album.find(5);
|
|
expect(response.UID).toBe("5");
|
|
});
|
|
|
|
it("should get entity name", () => {
|
|
const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
const result = album.getEntityName();
|
|
expect(result).toBe("christmas-2019");
|
|
});
|
|
|
|
it("should return model name", () => {
|
|
const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
const result = album.modelName();
|
|
expect(result).toBe("Album");
|
|
});
|
|
|
|
it("should return limit", () => {
|
|
const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
const result = Rest.limit();
|
|
expect(result).toBe(100000);
|
|
expect(album.constructor.limit()).toBe(100000);
|
|
});
|
|
|
|
it("should create link", async () => {
|
|
const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
const response = await album.createLink("passwd", 8000);
|
|
expect(response.Slug).toBe("christmas-2019");
|
|
});
|
|
|
|
it("should update link", async () => {
|
|
const values = {
|
|
UID: 5,
|
|
Password: "passwd",
|
|
Slug: "friends",
|
|
Expires: 80000,
|
|
UpdatedAt: "2012-07-08T14:45:39Z",
|
|
Token: "abchhgftryue2345",
|
|
};
|
|
const link = new Link(values);
|
|
const values2 = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values2);
|
|
const response = await album.updateLink(link);
|
|
expect(response.Slug).toBe("friends");
|
|
});
|
|
|
|
it("should remove link", async () => {
|
|
const values = {
|
|
UID: 5,
|
|
Password: "passwd",
|
|
Slug: "friends",
|
|
Expires: 80000,
|
|
UpdatedAt: "2012-07-08T14:45:39Z",
|
|
};
|
|
const link = new Link(values);
|
|
const values2 = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values2);
|
|
const response = await album.removeLink(link);
|
|
expect(response.Success).toBe("ok");
|
|
});
|
|
|
|
it("should return links", async () => {
|
|
const values2 = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values2);
|
|
const response = await album.links();
|
|
expect(response.count).toBe(2);
|
|
expect(response.models.length).toBe(2);
|
|
});
|
|
}); |