mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-11 23:04:52 +09:00
27 lines
985 B
JavaScript
27 lines
985 B
JavaScript
import assert from "node:assert/strict";
|
|
import * as lib from "@clusterio/lib";
|
|
|
|
import { testRoundTripJsonSerialisable } from "../../common.js";
|
|
|
|
describe("lib/data/Note", function() {
|
|
describe("class Note", function() {
|
|
it("should derive its id from the resource type and id", function() {
|
|
const note = new lib.Note("host", "12", "Runs on the basement box");
|
|
assert.equal(note.id, "host/12");
|
|
assert.equal(lib.Note.idFor("instance", 4), "instance/4");
|
|
});
|
|
it("should round trip serialize", function() {
|
|
testRoundTripJsonSerialisable(lib.Note, [
|
|
["host", "1", "text"],
|
|
["user", "player", "multi\nline", "admin"],
|
|
["mod", "mod_1.0.0", "text", "admin", 1234],
|
|
["save", "1/world.zip", "text", "", 1234, true],
|
|
]);
|
|
});
|
|
it("should omit default optional fields from json", function() {
|
|
const note = new lib.Note("role", "5", "text");
|
|
assert.deepEqual(note.toJSON(), { resourceType: "role", resourceId: "5", content: "text" });
|
|
});
|
|
});
|
|
});
|