mirror of
https://github.com/discourse/discourse.git
synced 2025-02-27 21:05:32 +08:00
69 lines
2.2 KiB
Plaintext
69 lines
2.2 KiB
Plaintext
![]() |
import {
|
||
|
acceptance,
|
||
|
exists,
|
||
|
query,
|
||
|
} from "discourse/tests/helpers/qunit-helpers";
|
||
|
import { click, visit } from "@ember/test-helpers";
|
||
|
import I18n from "I18n";
|
||
|
import { test } from "qunit";
|
||
|
import { fixturesByUrl } from "discourse/tests/helpers/create-pretender";
|
||
|
import sinon from "sinon";
|
||
|
|
||
|
acceptance(
|
||
|
"Local Dates - Download calendar without default calendar option set",
|
||
|
function (needs) {
|
||
|
needs.user({ default_calendar: "none_selected" });
|
||
|
needs.settings({ discourse_local_dates_enabled: true });
|
||
|
needs.pretender((server, helper) => {
|
||
|
const response = { ...fixturesByUrl["/t/281.json"] };
|
||
|
server.get("/t/281.json", () => helper.response(response));
|
||
|
});
|
||
|
|
||
|
test("Display pick calendar modal", async function (assert) {
|
||
|
await visit("/t/local-dates/281");
|
||
|
|
||
|
await click(".discourse-local-date");
|
||
|
await click(document.querySelector(".download-calendar"));
|
||
|
assert.equal(
|
||
|
query("#discourse-modal-title").textContent.trim(),
|
||
|
I18n.t("download_calendar.title"),
|
||
|
"it should display modal to select calendar"
|
||
|
);
|
||
|
});
|
||
|
}
|
||
|
);
|
||
|
|
||
|
acceptance(
|
||
|
"Local Dates - Download calendar with default calendar option set",
|
||
|
function (needs) {
|
||
|
needs.user({ default_calendar: "google" });
|
||
|
needs.settings({ discourse_local_dates_enabled: true });
|
||
|
needs.pretender((server, helper) => {
|
||
|
const response = { ...fixturesByUrl["/t/281.json"] };
|
||
|
server.get("/t/281.json", () => helper.response(response));
|
||
|
});
|
||
|
|
||
|
needs.hooks.beforeEach(function () {
|
||
|
let win = { focus: function () {} };
|
||
|
sinon.stub(window, "open").returns(win);
|
||
|
sinon.stub(win, "focus");
|
||
|
});
|
||
|
|
||
|
test("saves into default calendar", async function (assert) {
|
||
|
await visit("/t/local-dates/281");
|
||
|
|
||
|
await click(".discourse-local-date");
|
||
|
await click(document.querySelector(".download-calendar"));
|
||
|
assert.ok(!exists(document.querySelector("#discourse-modal-title")));
|
||
|
assert.ok(
|
||
|
window.open.calledWith(
|
||
|
"https://www.google.com/calendar/event?action=TEMPLATE&text=Local%20dates%20&dates=20210930T110000Z/20210930T120000Z",
|
||
|
"_blank",
|
||
|
"noopener",
|
||
|
"noreferrer"
|
||
|
)
|
||
|
);
|
||
|
});
|
||
|
}
|
||
|
);
|