This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/test/javascripts/acceptance/share-and-invite-desktop-test.js
Joe 72361738d0
DEV: don't add username to share links when badges are disabled (#10730)
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.
2020-09-29 00:12:16 +08:00

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"
);
}
);