mirror of
https://github.com/discourse/discourse.git
synced 2024-12-17 19:03:46 +08:00
619f132f57
Fixes a flaky test. `afterUpdate` from chart.js is not integrated with the runloop and component lifecycle, as a result we have no guarantee on when it will happen. The easiest change we can do for now is ensuring we actually have the DOM we expect to have, and if not, we exit early. Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com> Co-authored-by: merefield <merefield@gmail.com>
33 lines
1014 B
JavaScript
33 lines
1014 B
JavaScript
import { render } from "@ember/test-helpers";
|
|
import hbs from "htmlbars-inline-precompile";
|
|
import { module, test } from "qunit";
|
|
import { setupRenderingTest } from "discourse/tests/helpers/component-test";
|
|
import { count } from "discourse/tests/helpers/qunit-helpers";
|
|
|
|
const OPTIONS = [
|
|
{ id: "1ddc47be0d2315b9711ee8526ca9d83f", html: "This", votes: 3, rank: 0 },
|
|
{ id: "70e743697dac09483d7b824eaadb91e1", html: "That", votes: 1, rank: 0 },
|
|
{ id: "6c986ebcde3d5822a6e91a695c388094", html: "Other", votes: 2, rank: 0 },
|
|
];
|
|
|
|
const ID = "23";
|
|
|
|
module("Poll | Component | poll-results-pie", function (hooks) {
|
|
setupRenderingTest(hooks);
|
|
|
|
test("Renders the pie chart Component correctly", async function (assert) {
|
|
this.setProperties({
|
|
id: ID,
|
|
options: OPTIONS,
|
|
});
|
|
|
|
await render(
|
|
hbs`<PollResultsPie @id={{this.id}} @options={{this.options}} />`
|
|
);
|
|
|
|
assert.strictEqual(count("li.legend"), 3);
|
|
|
|
assert.strictEqual(count("canvas.poll-results-canvas"), 1);
|
|
});
|
|
});
|