2024-09-27 23:34:31 +02:00
|
|
|
"use strict";
|
|
|
|
|
2024-10-09 00:25:41 +02:00
|
|
|
const assert = require("node:assert/strict");
|
2024-09-27 23:34:31 +02:00
|
|
|
|
2024-11-12 03:59:37 +01:00
|
|
|
const {$t} = require("./lib/i18n.js");
|
|
|
|
const {set_global, zrequire} = require("./lib/namespace.js");
|
|
|
|
const {run_test} = require("./lib/test.js");
|
|
|
|
const blueslip = require("./lib/zblueslip.js");
|
2024-09-27 23:34:31 +02:00
|
|
|
|
|
|
|
set_global("page_params", {
|
|
|
|
is_spectator: false,
|
|
|
|
});
|
|
|
|
|
|
|
|
const params = {
|
|
|
|
saved_snippets: [
|
|
|
|
{
|
|
|
|
id: 1,
|
|
|
|
title: "Test saved snippet",
|
|
|
|
content: "Test content",
|
|
|
|
date_created: 128374878,
|
|
|
|
},
|
|
|
|
],
|
|
|
|
};
|
|
|
|
|
|
|
|
const people = zrequire("people");
|
|
|
|
const saved_snippets = zrequire("saved_snippets");
|
|
|
|
|
|
|
|
people.add_active_user({
|
|
|
|
email: "tester@zulip.com",
|
|
|
|
full_name: "Tester von Tester",
|
|
|
|
user_id: 42,
|
|
|
|
});
|
|
|
|
|
|
|
|
people.initialize_current_user(42);
|
|
|
|
|
|
|
|
saved_snippets.initialize(params);
|
|
|
|
|
|
|
|
run_test("add_saved_snippet", () => {
|
|
|
|
const saved_snippet = {
|
|
|
|
id: 2,
|
|
|
|
title: "New saved snippet",
|
|
|
|
content: "Test content",
|
|
|
|
date_created: 128374878,
|
|
|
|
};
|
|
|
|
saved_snippets.add_saved_snippet(saved_snippet);
|
|
|
|
|
|
|
|
const my_saved_snippet = saved_snippets.get_saved_snippet_by_id(2);
|
|
|
|
assert.equal(my_saved_snippet, saved_snippet);
|
|
|
|
});
|
|
|
|
|
|
|
|
run_test("options for dropdown widget", () => {
|
|
|
|
const saved_snippet = {
|
|
|
|
id: 3,
|
|
|
|
title: "Another saved snippet",
|
|
|
|
content: "Test content",
|
|
|
|
date_created: 128374876,
|
|
|
|
};
|
|
|
|
saved_snippets.add_saved_snippet(saved_snippet);
|
|
|
|
|
|
|
|
assert.deepEqual(saved_snippets.get_options_for_dropdown_widget(), [
|
|
|
|
{
|
|
|
|
unique_id: -1,
|
|
|
|
name: $t({defaultMessage: "Add a new saved snippet"}),
|
|
|
|
description: "",
|
|
|
|
bold_current_selection: true,
|
|
|
|
has_delete_icon: false,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
unique_id: 3,
|
|
|
|
name: "Another saved snippet",
|
|
|
|
description: "Test content",
|
|
|
|
bold_current_selection: true,
|
|
|
|
has_delete_icon: true,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
unique_id: 2,
|
|
|
|
name: "New saved snippet",
|
|
|
|
description: "Test content",
|
|
|
|
bold_current_selection: true,
|
|
|
|
has_delete_icon: true,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
unique_id: 1,
|
|
|
|
name: "Test saved snippet",
|
|
|
|
description: "Test content",
|
|
|
|
bold_current_selection: true,
|
|
|
|
has_delete_icon: true,
|
|
|
|
},
|
|
|
|
]);
|
|
|
|
});
|
|
|
|
|
|
|
|
run_test("remove_saved_snippet", () => {
|
|
|
|
const saved_snippet_id = params.saved_snippets[0].id;
|
|
|
|
saved_snippets.remove_saved_snippet(saved_snippet_id);
|
|
|
|
blueslip.expect("error", "Could not find saved snippet");
|
|
|
|
assert.equal(saved_snippets.get_saved_snippet_by_id(saved_snippet_id), undefined);
|
|
|
|
});
|