discourse-assign/test/javascripts/acceptance/search-full-test.js.es6

92 lines
2.7 KiB
JavaScript

import selectKit from "discourse/tests/helpers/select-kit-helper";
import {
acceptance,
updateCurrentUser,
waitFor,
} from "discourse/tests/helpers/qunit-helpers";
import { skip, test } from "qunit";
acceptance("Search - Full Page", function (needs) {
needs.settings({ assign_enabled: true });
needs.user();
test("update in:assigned filter through advanced search ui", async (assert) => {
updateCurrentUser({ can_assign: true });
const inSelector = selectKit(".search-advanced-options .select-kit#in");
await visit("/search");
await fillIn(".search-query", "none");
await inSelector.expand();
await inSelector.selectRowByValue("assigned");
assert.equal(
inSelector.header().label(),
"are assigned",
'has "are assigned" populated'
);
assert.equal(
find(".search-query").val(),
"none in:assigned",
'has updated search term to "none in:assinged"'
);
});
test("update in:unassigned filter through advanced search ui", async (assert) => {
updateCurrentUser({ can_assign: true });
const inSelector = selectKit(".search-advanced-options .select-kit#in");
await visit("/search");
await fillIn(".search-query", "none");
await inSelector.expand();
await inSelector.selectRowByValue("unassigned");
assert.equal(
inSelector.header().label(),
"are unassigned",
'has "are unassigned" populated'
);
assert.equal(
find(".search-query").val(),
"none in:unassigned",
'has updated search term to "none in:unassinged"'
);
});
skip("update assigned to through advanced search ui", async (assert) => {
updateCurrentUser({ can_assign: true });
await visit("/search");
await fillIn(".search-query", "none");
await fillIn(".search-advanced-options .user-selector-assigned", "admin");
await click(".search-advanced-options .user-selector-assigned");
await keyEvent(
".search-advanced-options .user-selector-assigned",
"keydown",
8
);
waitFor(assert, async () => {
assert.ok(
visible(".search-advanced-options .autocomplete"),
'"autocomplete" popup is visible'
);
assert.ok(
exists(
'.search-advanced-options .autocomplete ul li a span.username:contains("admin")'
),
'"autocomplete" popup has an entry for "admin"'
);
await click(".search-advanced-options .autocomplete ul li a:first");
assert.ok(
exists('.search-advanced-options span:contains("admin")'),
'has "admin" pre-populated'
);
assert.equal(
find(".search-query").val(),
"none assigned:admin",
'has updated search term to "none assigned:admin"'
);
});
});
});