discourse/plugins/poll/test/javascripts/acceptance/poll-builder-disabled-test.js.es6
Joffrey JAFFEUX 63bab32816 FEATURE: introduces minimum trust level for polls (#5391)
* FEATURE: introduces minimum trust level for polls

This commit makes `poll_enabled` less misleading and introduces `poll_minimum_trust_level_to_create`. If poll are enabled they will always be cooked, and if you have the required trust level you can create polls. As a side effect, it also fixes a bug where rebaking a post created by staff member when `poll_enabled=false` would end up not cooking it.

It also adds more tests to ensure settings are respected.

* admins should be whitelisted

* checks for admin in post validation

* test for >= instead of == trust level
2017-12-04 14:47:11 +01:00

42 lines
1.1 KiB
JavaScript

import { acceptance } from "helpers/qunit-helpers";
import { displayPollBuilderButton } from "discourse/plugins/poll/helpers/display-poll-builder-button";
import { replaceCurrentUser } from "discourse/plugins/poll/helpers/replace-current-user";
acceptance("Poll Builder - polls are disabled", {
loggedIn: true,
settings: {
poll_enabled: false,
poll_minimum_trust_level_to_create: 2
}
});
test("sufficient trust level", (assert) => {
replaceCurrentUser({ admin: false, trust_level: 3 });
displayPollBuilderButton();
andThen(() => {
assert.ok(!exists("button[title='Build Poll']"), "it hides the builder button");
});
});
test("insufficient trust level", (assert) => {
replaceCurrentUser({ admin: false, trust_level: 1 });
displayPollBuilderButton();
andThen(() => {
assert.ok(!exists("button[title='Build Poll']"), "it hides the builder button");
});
});
test("admin", (assert) => {
replaceCurrentUser({ admin: true });
displayPollBuilderButton();
andThen(() => {
assert.ok(!exists("button[title='Build Poll']"), "it hides the builder button");
});
});