import EmberObject from "@ember/object"; import { moduleForWidget, widgetTest, } from "discourse/tests/helpers/widget-test"; import { queryAll } from "discourse/tests/helpers/qunit-helpers"; moduleForWidget("discourse-poll-standard-results"); const template = `{{mount-widget widget="discourse-poll-standard-results" args=(hash poll=poll isMultiple=isMultiple)}}`; widgetTest("options in descending order", { template, beforeEach() { this.set( "poll", EmberObject.create({ options: [{ votes: 5 }, { votes: 4 }], voters: 9, }) ); }, test(assert) { assert.equal(queryAll(".option .percentage:eq(0)").text(), "56%"); assert.equal(queryAll(".option .percentage:eq(1)").text(), "44%"); }, }); widgetTest("options in ascending order", { template, beforeEach() { this.set( "poll", EmberObject.create({ options: [{ votes: 4 }, { votes: 5 }], voters: 9, }) ); }, test(assert) { assert.equal(queryAll(".option .percentage:eq(0)").text(), "56%"); assert.equal(queryAll(".option .percentage:eq(1)").text(), "44%"); }, }); widgetTest("multiple options in descending order", { template, beforeEach() { this.set("isMultiple", true); this.set( "poll", EmberObject.create({ type: "multiple", options: [ { votes: 5, html: "a" }, { votes: 2, html: "b" }, { votes: 4, html: "c" }, { votes: 1, html: "b" }, { votes: 1, html: "a" }, ], voters: 12, }) ); }, test(assert) { assert.equal(queryAll(".option .percentage:eq(0)").text(), "41%"); assert.equal(queryAll(".option .percentage:eq(1)").text(), "33%"); assert.equal(queryAll(".option .percentage:eq(2)").text(), "16%"); assert.equal(queryAll(".option .percentage:eq(3)").text(), "8%"); assert.equal(queryAll(".option span:nth-child(2):eq(3)").text(), "a"); assert.equal(queryAll(".option .percentage:eq(4)").text(), "8%"); assert.equal(queryAll(".option span:nth-child(2):eq(4)").text(), "b"); }, });