parent
e5776714c2
commit
cef88078dd
|
@ -16,8 +16,7 @@ describe "Assign | Bulk Assign", type: :system do
|
|||
end
|
||||
|
||||
describe "from topic list" do
|
||||
# TODO (martin) Unskip when core PR is merged to make new bulk select method the default
|
||||
xit "can assign and unassign topics" do
|
||||
it "can assign and unassign topics" do
|
||||
## Assign
|
||||
visit "/latest"
|
||||
topic = topics.first
|
||||
|
|
|
@ -8,6 +8,8 @@ RSpec.describe "Assign | Group assigned", type: :system, js: true do
|
|||
|
||||
let(:topic_list) { PageObjects::Components::TopicList.new }
|
||||
let(:topic_list_header) { PageObjects::Components::TopicListHeader.new }
|
||||
let(:topic_bulk_modal) { PageObjects::Modals::TopicBulkActions.new }
|
||||
let(:assign_modal) { PageObjects::Modals::Assign.new }
|
||||
|
||||
before do
|
||||
group.add(admin)
|
||||
|
@ -17,14 +19,35 @@ RSpec.describe "Assign | Group assigned", type: :system, js: true do
|
|||
sign_in(admin)
|
||||
end
|
||||
|
||||
# TODO (martin) Unskip when core PR is merged to make new bulk select method the default
|
||||
xit "allows to bulk select assigned topics" do
|
||||
it "allows to bulk select assigned topics" do
|
||||
visit "/g/#{group.name}/assigned/everyone"
|
||||
|
||||
topic_list_header.click_bulk_select_button
|
||||
topic_list.click_topic_checkbox(topic)
|
||||
find(".bulk-select-actions").click
|
||||
|
||||
# Click Assign Button
|
||||
topic_list_header.click_bulk_select_topics_dropdown
|
||||
expect(topic_list_header).to have_assign_topics_button
|
||||
topic_list_header.click_assign_topics_button
|
||||
expect(topic_list_header).to have_bulk_select_modal
|
||||
|
||||
# Assign User
|
||||
assignee = admin.username
|
||||
select_kit = PageObjects::Components::SelectKit.new("#assignee-chooser")
|
||||
|
||||
# This initial collapse is needed because for some reason the modal is
|
||||
# opening with `is-expanded` property, but it isn't actually expanded.
|
||||
select_kit.collapse
|
||||
|
||||
select_kit.expand_if_needed
|
||||
select_kit.search(assignee)
|
||||
select_kit.select_row_by_value(assignee)
|
||||
select_kit.collapse
|
||||
|
||||
# Click Confirm
|
||||
topic_list_header.click_bulk_topics_confirm
|
||||
|
||||
expect(topic_bulk_modal).to be_closed
|
||||
expect(Assignment.find_by(topic: topic).assigned_to).to eq(admin)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,95 +0,0 @@
|
|||
import { click, fillIn, visit } from "@ember/test-helpers";
|
||||
import { skip } from "qunit";
|
||||
import pretender, {
|
||||
parsePostData,
|
||||
response,
|
||||
} from "discourse/tests/helpers/create-pretender";
|
||||
import { acceptance, query } from "discourse/tests/helpers/qunit-helpers";
|
||||
import selectKit from "discourse/tests/helpers/select-kit-helper";
|
||||
import I18n from "I18n";
|
||||
|
||||
acceptance("Discourse Assign | Bulk actions", function (needs) {
|
||||
needs.user({
|
||||
moderator: true,
|
||||
can_assign: true,
|
||||
});
|
||||
needs.settings({
|
||||
assign_enabled: true,
|
||||
enable_assign_status: true,
|
||||
});
|
||||
|
||||
needs.pretender((server, helper) => {
|
||||
server.get("/assign/suggestions", () => {
|
||||
return helper.response({
|
||||
success: true,
|
||||
assign_allowed_groups: false,
|
||||
assign_allowed_for_groups: [],
|
||||
suggestions: [
|
||||
{
|
||||
id: 19,
|
||||
username: "eviltrout",
|
||||
name: "Robin Ward",
|
||||
avatar_template:
|
||||
"/user_avatar/meta.discourse.org/eviltrout/{size}/5275_2.png",
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// TODO (martin) Unskip when core PR is merged to make new bulk select method the default
|
||||
skip("Assigning users to topics", async function (assert) {
|
||||
pretender.put("/topics/bulk", ({ requestBody }) => {
|
||||
const body = parsePostData(requestBody);
|
||||
assert.deepEqual(body.operation, {
|
||||
type: "assign",
|
||||
username: "eviltrout",
|
||||
status: "In Progress",
|
||||
note: "a note!",
|
||||
});
|
||||
assert.deepEqual(body["topic_ids[]"], [
|
||||
topic1.dataset.topicId,
|
||||
topic2.dataset.topicId,
|
||||
]);
|
||||
|
||||
return response({ success: true });
|
||||
});
|
||||
|
||||
await visit("/latest");
|
||||
await click("button.bulk-select");
|
||||
|
||||
const topic1 = query(".topic-list-body tr:nth-child(1)");
|
||||
const topic2 = query(".topic-list-body tr:nth-child(2)");
|
||||
await click(topic1.querySelector("input.bulk-select"));
|
||||
await click(topic2.querySelector("input.bulk-select"));
|
||||
|
||||
await click(".bulk-select-actions");
|
||||
|
||||
assert
|
||||
.dom("#discourse-modal-title")
|
||||
.includesText(I18n.t("topics.bulk.actions"), "opens bulk-select modal");
|
||||
|
||||
await click("button.assign-topics");
|
||||
|
||||
const menu = selectKit(".topic-bulk-actions-modal .user-chooser");
|
||||
assert.true(menu.isExpanded(), "user selector is expanded");
|
||||
|
||||
await click(".topic-bulk-actions-modal .btn-primary");
|
||||
assert.dom(".error-label").includesText("Choose a user to assign");
|
||||
|
||||
await menu.expand();
|
||||
await menu.selectRowByIndex(0);
|
||||
assert.strictEqual(menu.header().value(), "eviltrout");
|
||||
|
||||
await fillIn("#assign-modal-note", "a note!");
|
||||
|
||||
const statusDropdown = selectKit("#assign-status");
|
||||
assert.strictEqual(statusDropdown.header().value(), "New");
|
||||
|
||||
await statusDropdown.expand();
|
||||
await statusDropdown.selectRowByValue("In Progress");
|
||||
assert.strictEqual(statusDropdown.header().value(), "In Progress");
|
||||
|
||||
await click(".topic-bulk-actions-modal .btn-primary");
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue