Manual changes following smoke test

This commit is contained in:
Cooldude2606
2026-09-01 01:04:09 +01:00
parent 574a0a4b52
commit 59df8bdff3
18 changed files with 191 additions and 98 deletions
+43 -37
View File
@@ -7,18 +7,18 @@ const fullMeta = new messages.RoleMetaRecord(
7, 3, 1, "Mod", "[Mod]", new messages.RoleColor(1, 2, 3), 3600000, true, 12345, false,
);
t.test("class RoleColor", subtest => {
testRoundTripJsonSerialisable(messages.RoleColor, testMatrix(
t.test("class RoleColor", t2 => {
testRoundTripJsonSerialisable(t2, messages.RoleColor, testMatrix(
[0, 255], // r
[0, 128], // g
[0, 1], // b
));
subtest.pass("round trips");
subtest.end();
t2.end();
});
t.test("class RoleMetaRecord", subtest => {
testRoundTripJsonSerialisable(messages.RoleMetaRecord, testMatrix(
t.test("class RoleMetaRecord", t2 => {
testRoundTripJsonSerialisable(t2, messages.RoleMetaRecord, testMatrix(
[7], // id
[3], // order
[0, 1], // priority
@@ -30,12 +30,12 @@ t.test("class RoleMetaRecord", subtest => {
[0, 12345], // updatedAtMs
[false, true], // isDeleted
));
subtest.pass("round trips");
subtest.end();
t2.end();
});
t.test("class RoleRecord", subtest => {
testRoundTripJsonSerialisable(messages.RoleRecord, testMatrix(
t.test("class RoleRecord", t2 => {
testRoundTripJsonSerialisable(t2, messages.RoleRecord, testMatrix(
[7], // id
["Moderator"], // name
[[], ["a.b", "c.d"]], // permissions
@@ -44,67 +44,73 @@ t.test("class RoleRecord", subtest => {
[0, 12345], // updatedAtMs
[false, true], // isDeleted
));
subtest.pass("round trips");
subtest.end();
t2.end();
});
t.test("class AssignmentRecord", subtest => {
testRoundTripJsonSerialisable(messages.AssignmentRecord, testMatrix(
t.test("class AssignmentRecord", t2 => {
testRoundTripJsonSerialisable(t2, messages.AssignmentRecord, testMatrix(
["alice"], // name
[new Set(), new Set([5, 6])], // roleIds
[0, 12345], // updatedAtMs
[false, true], // isDeleted
));
subtest.pass("round trips");
subtest.end();
t2.test("get id()", t3 => {
const record = new messages.AssignmentRecord("alice", new Set([5]), 12345);
t3.equal(record.id, "alice");
t3.end();
});
t2.end();
});
const sampleRecord = new messages.RoleRecord(7, "Moderator", ["a.b"], fullMeta, true, 12345);
const sampleAssignment = new messages.AssignmentRecord("alice", new Set([5]), 12345);
t.test("class RoleUpdatedEvent", subtest => {
testRoundTripJsonSerialisable(messages.RoleUpdatedEvent, testMatrix(
t.test("class RoleUpdatedEvent", t2 => {
testRoundTripJsonSerialisable(t2, messages.RoleUpdatedEvent, testMatrix(
[[], [sampleRecord]], // updates
));
subtest.pass("round trips");
subtest.end();
t2.end();
});
t.test("class AssignmentUpdatedEvent", subtest => {
testRoundTripJsonSerialisable(messages.AssignmentUpdatedEvent, testMatrix(
t.test("class AssignmentUpdatedEvent", t2 => {
testRoundTripJsonSerialisable(t2, messages.AssignmentUpdatedEvent, testMatrix(
[[], [sampleAssignment]], // updates
));
subtest.pass("round trips");
subtest.end();
t2.end();
});
t.test("class RoleMetaUpdateRequest", subtest => {
testRoundTripJsonSerialisable(messages.RoleMetaUpdateRequest, testMatrix(
t.test("class RoleMetaUpdateRequest", t2 => {
testRoundTripJsonSerialisable(t2, messages.RoleMetaUpdateRequest, testMatrix(
[new messages.RoleMetaRecord(7, 3), fullMeta], // meta
));
subtest.pass("round trips");
subtest.end();
t2.end();
});
t.test("class AssignmentUpdateRequest", subtest => {
testRoundTripJsonSerialisable(messages.AssignmentUpdateRequest, testMatrix(
t.test("class AssignmentUpdateRequest", t2 => {
testRoundTripJsonSerialisable(t2, messages.AssignmentUpdateRequest, testMatrix(
["alice"], // name
[[], [5]], // assign
[[], [6]], // unassign
));
subtest.pass("round trips");
subtest.end();
t2.end();
});
t.test("encodeRolesForLua() sends each permission name once", subtest => {
t.test("encodeRolesForLua() sends each permission name once", t2 => {
const meta = id => new messages.RoleMetaRecord(id, id);
const encoded = messages.encodeRolesForLua([
new messages.RoleRecord(1, "A", ["p.one", "p.two"], meta(1)),
new messages.RoleRecord(2, "B", ["p.two", "p.three"], meta(2)),
]);
subtest.strictSame(encoded.permission_names, ["p.one", "p.two", "p.three"], "names are deduplicated");
subtest.strictSame(encoded.roles[0].permissions, [0, 1], "indexes are zero based");
subtest.strictSame(encoded.roles[1].permissions, [1, 2], "shared names reuse their index");
subtest.end();
t2.strictSame(encoded.permission_names, ["p.one", "p.two", "p.three"], "names are deduplicated");
t2.strictSame(encoded.roles[0].permissions, [0, 1], "indexes are zero based");
t2.strictSame(encoded.roles[1].permissions, [1, 2], "shared names reuse their index");
t2.end();
});