"use strict"; const {strict: assert} = require("assert"); const {$t} = require("./lib/i18n"); const {set_global, zrequire} = require("./lib/namespace"); const {run_test} = require("./lib/test"); const blueslip = require("./lib/zblueslip"); 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); });