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/app/assets/javascripts/discourse/tests/integration/widgets/post-links-test.js
2021-11-08 10:26:28 +01:00

93 lines
2.4 KiB
JavaScript

import componentTest, {
setupRenderingTest,
} from "discourse/tests/helpers/component-test";
import { count, discourseModule } from "discourse/tests/helpers/qunit-helpers";
import { click } from "@ember/test-helpers";
import hbs from "htmlbars-inline-precompile";
discourseModule(
"Integration | Component | Widget | post-links",
function (hooks) {
setupRenderingTest(hooks);
componentTest("duplicate links", {
template: hbs`{{mount-widget widget="post-links" args=args}}`,
beforeEach() {
this.set("args", {
id: 2,
links: [
{
title: "Evil Trout Link",
url: "http://eviltrout.com",
reflection: true,
},
{
title: "Evil Trout Link",
url: "http://dupe.eviltrout.com",
reflection: true,
},
],
});
},
test(assert) {
assert.strictEqual(
count(".post-links a.track-link"),
1,
"it hides the dupe link"
);
},
});
componentTest("collapsed links", {
template: hbs`{{mount-widget widget="post-links" args=args}}`,
beforeEach() {
this.set("args", {
id: 1,
links: [
{
title: "Link 1",
url: "http://eviltrout.com?1",
reflection: true,
},
{
title: "Link 2",
url: "http://eviltrout.com?2",
reflection: true,
},
{
title: "Link 3",
url: "http://eviltrout.com?3",
reflection: true,
},
{
title: "Link 4",
url: "http://eviltrout.com?4",
reflection: true,
},
{
title: "Link 5",
url: "http://eviltrout.com?5",
reflection: true,
},
{
title: "Link 6",
url: "http://eviltrout.com?6",
reflection: true,
},
{
title: "Link 7",
url: "http://eviltrout.com?7",
reflection: true,
},
],
});
},
async test(assert) {
assert.strictEqual(count(".expand-links"), 1, "collapsed by default");
await click("a.expand-links");
assert.strictEqual(count(".post-links a.track-link"), 7);
},
});
}
);