26560e8d71
Most frontend packages have been upgraded as part of this commit. JS unit tests have been refactored alongside.
226 lines
6.9 KiB
JavaScript
226 lines
6.9 KiB
JavaScript
import "../fixtures";
|
|
import Rest from "model/rest";
|
|
import Album from "model/album";
|
|
import Label from "model/label";
|
|
import Link from "model/link";
|
|
|
|
let chai = require("chai/chai");
|
|
let assert = chai.assert;
|
|
|
|
describe("model/abstract", () => {
|
|
it("should set values", () => {
|
|
const values = { id: 5, Name: "Black Cat", Slug: "black-cat" };
|
|
const label = new Label(values);
|
|
assert.equal(label.Name, "Black Cat");
|
|
assert.equal(label.Slug, "black-cat");
|
|
label.setValues();
|
|
assert.equal(label.Name, "Black Cat");
|
|
assert.equal(label.Slug, "black-cat");
|
|
const values2 = { id: 6, Name: "White Cat", Slug: "white-cat" };
|
|
label.setValues(values2);
|
|
assert.equal(label.Name, "White Cat");
|
|
assert.equal(label.Slug, "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();
|
|
assert.equal(result.Name, "Christmas 2019");
|
|
assert.equal(result.UID, 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();
|
|
assert.equal(result, 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();
|
|
assert.equal(result, true);
|
|
});
|
|
|
|
it("should get model name", () => {
|
|
const result = Rest.getModelName();
|
|
assert.equal(result, "Item");
|
|
});
|
|
|
|
it("should update album", async () => {
|
|
const values = { id: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
assert.equal(album.Description, undefined);
|
|
await album.update();
|
|
assert.equal(album.Description, "Test description");
|
|
});
|
|
|
|
it("should save album", async () => {
|
|
const values = { UID: "abc", Name: "Christmas 2019", Slug: "christmas-2019" };
|
|
const album = new Album(values);
|
|
assert.equal(album.Description, undefined);
|
|
await album.save();
|
|
assert.equal(album.Description, "Test description");
|
|
});
|
|
|
|
it("should remove album", async () => {
|
|
const values = { UID: "abc", Name: "Christmas 2019", Slug: "christmas-2019" };
|
|
const album = new Album(values);
|
|
assert.equal(album.Name, "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();
|
|
assert.equal(result.definition.foo, "edit");
|
|
});
|
|
|
|
it("should get create form", async () => {
|
|
const result = await Album.getCreateForm();
|
|
assert.equal(result.definition.foo, "bar");
|
|
});
|
|
|
|
it("should get search form", async () => {
|
|
const result = await Album.getSearchForm();
|
|
assert.equal(result.definition.foo, "bar");
|
|
});
|
|
|
|
it("should search label", async () => {
|
|
const result = await Album.search();
|
|
assert.equal(result.data.ID, 51);
|
|
assert.equal(result.data.Name, "tabby cat");
|
|
});
|
|
|
|
it("should get collection resource", () => {
|
|
assert.equal(Rest.getCollectionResource(), "");
|
|
});
|
|
|
|
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();
|
|
assert.equal(result, "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();
|
|
assert.equal(result.Slug, "christmas-2019");
|
|
assert.equal(result.Name, "Christmas 2019");
|
|
assert.equal(result.id, 5);
|
|
});
|
|
|
|
it("should find album", async () => {
|
|
const values = { Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
return album
|
|
.find(5)
|
|
.then((response) => {
|
|
assert.equal(response.UID, "5");
|
|
return Promise.resolve();
|
|
})
|
|
.catch((error) => {
|
|
return Promise.reject(error);
|
|
});
|
|
});
|
|
|
|
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();
|
|
assert.equal(result, "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();
|
|
assert.equal(result, "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();
|
|
assert.equal(result, 3333);
|
|
assert.equal(album.constructor.limit(), 3333);
|
|
});
|
|
|
|
it("should create link", async () => {
|
|
const values = { id: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values);
|
|
album
|
|
.createLink("passwd", 8000)
|
|
.then((response) => {
|
|
assert.equal(response.Slug, "christmas-2019");
|
|
return Promise.resolve();
|
|
})
|
|
.catch((error) => {
|
|
return Promise.reject(error);
|
|
});
|
|
});
|
|
|
|
it("should update 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);
|
|
return album
|
|
.updateLink(link)
|
|
.then((response) => {
|
|
assert.equal(response.Slug, "friends");
|
|
return Promise.resolve();
|
|
})
|
|
.catch((error) => {
|
|
return Promise.reject(error);
|
|
});
|
|
});
|
|
|
|
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);
|
|
return album
|
|
.removeLink(link)
|
|
.then((response) => {
|
|
assert.equal(response.Success, "ok");
|
|
return Promise.resolve();
|
|
})
|
|
.catch((error) => {
|
|
return Promise.reject(error);
|
|
});
|
|
});
|
|
|
|
it("should return links", async () => {
|
|
const values2 = { id: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 };
|
|
const album = new Album(values2);
|
|
return album
|
|
.links()
|
|
.then((response) => {
|
|
assert.equal(response.count, 2);
|
|
assert.equal(response.models.length, 2);
|
|
return Promise.resolve();
|
|
})
|
|
.catch((error) => {
|
|
return Promise.reject(error);
|
|
});
|
|
});
|
|
});
|