Context: https://meta.discourse.org/t/stop-appending-username-to-url-when-badge-system-disabled/164904 Share links for topics and posts have the current username appended to them when the user is logged in. If badges are disabled, those added usernames are not beneficial since they're only used to track progress towards certain badges. This PR makes two change. 1. it moves the logic for the share link url to a centralized helper because it's shared in both topic and post models. 2. it stops username params from being added to share links when badges are disabled.
95 lines
2.4 KiB
JavaScript
95 lines
2.4 KiB
JavaScript
import { acceptance } from "helpers/qunit-helpers";
|
|
|
|
acceptance("Share and Invite modal - desktop", {
|
|
loggedIn: true,
|
|
});
|
|
|
|
QUnit.test("Topic footer button", async (assert) => {
|
|
await visit("/t/internationalization-localization/280");
|
|
|
|
assert.ok(
|
|
exists("#topic-footer-button-share-and-invite"),
|
|
"the button exists"
|
|
);
|
|
|
|
await click("#topic-footer-button-share-and-invite");
|
|
|
|
assert.ok(exists(".share-and-invite.modal"), "it shows the modal");
|
|
|
|
assert.ok(
|
|
exists(".share-and-invite.modal .modal-tab.share"),
|
|
"it shows the share tab"
|
|
);
|
|
|
|
assert.ok(
|
|
exists(".share-and-invite.modal .modal-tab.share.is-active"),
|
|
"it activates the share tab by default"
|
|
);
|
|
|
|
assert.ok(
|
|
exists(".share-and-invite.modal .modal-tab.invite"),
|
|
"it shows the invite tab"
|
|
);
|
|
|
|
assert.equal(
|
|
find(".share-and-invite.modal .modal-panel.share .title").text(),
|
|
"Topic: Internationalization / localization",
|
|
"it shows the topic title"
|
|
);
|
|
|
|
assert.ok(
|
|
find(".share-and-invite.modal .modal-panel.share .topic-share-url")
|
|
.val()
|
|
.includes("/t/internationalization-localization/280?u=eviltrout"),
|
|
"it shows the topic sharing url"
|
|
);
|
|
|
|
assert.ok(
|
|
find(".share-and-invite.modal .social-link").length > 1,
|
|
"it shows social sources"
|
|
);
|
|
|
|
await click(".share-and-invite.modal .modal-tab.invite");
|
|
|
|
assert.ok(
|
|
exists(".share-and-invite.modal .modal-panel.invite .send-invite:disabled"),
|
|
"send invite button is disabled"
|
|
);
|
|
|
|
assert.ok(
|
|
exists(
|
|
".share-and-invite.modal .modal-panel.invite .generate-invite-link:disabled"
|
|
),
|
|
"generate invite button is disabled"
|
|
);
|
|
});
|
|
|
|
QUnit.test("Post date link", async (assert) => {
|
|
await visit("/t/internationalization-localization/280");
|
|
await click("#post_2 .post-info.post-date a");
|
|
|
|
assert.ok(exists("#share-link"), "it shows the share modal");
|
|
});
|
|
|
|
acceptance("Share url with badges disabled - desktop", {
|
|
loggedIn: true,
|
|
settings: {
|
|
enable_badges: false,
|
|
},
|
|
});
|
|
|
|
QUnit.test(
|
|
"topic footer button - badges disabled - desktop",
|
|
async (assert) => {
|
|
await visit("/t/internationalization-localization/280");
|
|
await click("#topic-footer-button-share-and-invite");
|
|
|
|
assert.notOk(
|
|
find(".share-and-invite.modal .modal-panel.share .topic-share-url")
|
|
.val()
|
|
.includes("?u=eviltrout"),
|
|
"it doesn't add the username param when badges are disabled"
|
|
);
|
|
}
|
|
);
|