mirror of
https://github.com/discourse/discourse.git
synced 2025-09-07 12:02:53 +08:00
DEV: introduces prettier for es6 files
This commit is contained in:
parent
c7ee70941e
commit
03a7d532cf
1162 changed files with 60667 additions and 29659 deletions
|
@ -4,7 +4,9 @@ import Topic from "discourse/models/topic";
|
|||
moduleFor("controller:topic", "controller:topic", {
|
||||
needs: ["controller:composer", "controller:application"],
|
||||
beforeEach() {
|
||||
this.registry.register("app-events:main", AppEvents.create(), { instantiate: false });
|
||||
this.registry.register("app-events:main", AppEvents.create(), {
|
||||
instantiate: false
|
||||
});
|
||||
this.registry.injection("controller", "appEvents", "app-events:main");
|
||||
}
|
||||
});
|
||||
|
@ -18,41 +20,70 @@ QUnit.test("editTopic", function(assert) {
|
|||
controller.set("model.details.can_edit", false);
|
||||
controller.send("editTopic");
|
||||
|
||||
assert.not(controller.get("editingTopic"), "calling editTopic doesn't enable editing unless the user can edit");
|
||||
assert.not(
|
||||
controller.get("editingTopic"),
|
||||
"calling editTopic doesn't enable editing unless the user can edit"
|
||||
);
|
||||
|
||||
controller.set("model.details.can_edit", true);
|
||||
controller.send("editTopic");
|
||||
|
||||
assert.ok(controller.get("editingTopic"), "calling editTopic enables editing if the user can edit");
|
||||
assert.ok(
|
||||
controller.get("editingTopic"),
|
||||
"calling editTopic enables editing if the user can edit"
|
||||
);
|
||||
assert.equal(controller.get("buffered.title"), model.get("title"));
|
||||
assert.equal(controller.get("buffered.category_id"), model.get("category_id"));
|
||||
assert.equal(
|
||||
controller.get("buffered.category_id"),
|
||||
model.get("category_id")
|
||||
);
|
||||
|
||||
controller.send("cancelEditingTopic");
|
||||
|
||||
assert.not(controller.get("editingTopic"), "cancelling edit mode reverts the property value");
|
||||
assert.not(
|
||||
controller.get("editingTopic"),
|
||||
"cancelling edit mode reverts the property value"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("toggleMultiSelect", function(assert) {
|
||||
const model = Topic.create();
|
||||
const controller = this.subject({ model });
|
||||
|
||||
assert.not(controller.get("multiSelect"), "multi selection mode is disabled by default");
|
||||
assert.not(
|
||||
controller.get("multiSelect"),
|
||||
"multi selection mode is disabled by default"
|
||||
);
|
||||
|
||||
controller.get("selectedPostIds").pushObject(1);
|
||||
assert.equal(controller.get("selectedPostIds.length"), 1);
|
||||
|
||||
controller.send("toggleMultiSelect");
|
||||
|
||||
assert.ok(controller.get("multiSelect"), "calling 'toggleMultiSelect' once enables multi selection mode");
|
||||
assert.equal(controller.get("selectedPostIds.length"), 0, "toggling 'multiSelect' clears 'selectedPostIds'");
|
||||
assert.ok(
|
||||
controller.get("multiSelect"),
|
||||
"calling 'toggleMultiSelect' once enables multi selection mode"
|
||||
);
|
||||
assert.equal(
|
||||
controller.get("selectedPostIds.length"),
|
||||
0,
|
||||
"toggling 'multiSelect' clears 'selectedPostIds'"
|
||||
);
|
||||
|
||||
controller.get("selectedPostIds").pushObject(2);
|
||||
assert.equal(controller.get("selectedPostIds.length"), 1);
|
||||
|
||||
controller.send("toggleMultiSelect");
|
||||
|
||||
assert.not(controller.get("multiSelect"), "calling 'toggleMultiSelect' twice disables multi selection mode");
|
||||
assert.equal(controller.get("selectedPostIds.length"), 0, "toggling 'multiSelect' clears 'selectedPostIds'");
|
||||
assert.not(
|
||||
controller.get("multiSelect"),
|
||||
"calling 'toggleMultiSelect' twice disables multi selection mode"
|
||||
);
|
||||
assert.equal(
|
||||
controller.get("selectedPostIds.length"),
|
||||
0,
|
||||
"toggling 'multiSelect' clears 'selectedPostIds'"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("selectedPosts", function(assert) {
|
||||
|
@ -62,8 +93,15 @@ QUnit.test("selectedPosts", function(assert) {
|
|||
|
||||
controller.set("selectedPostIds", [1, 2, 42]);
|
||||
|
||||
assert.equal(controller.get("selectedPosts.length"), 2, "selectedPosts only contains already loaded posts");
|
||||
assert.not(controller.get("selectedPosts").some(p => p === undefined), "selectedPosts only contains valid post objects");
|
||||
assert.equal(
|
||||
controller.get("selectedPosts.length"),
|
||||
2,
|
||||
"selectedPosts only contains already loaded posts"
|
||||
);
|
||||
assert.not(
|
||||
controller.get("selectedPosts").some(p => p === undefined),
|
||||
"selectedPosts only contains valid post objects"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("selectedAllPosts", function(assert) {
|
||||
|
@ -81,7 +119,10 @@ QUnit.test("selectedAllPosts", function(assert) {
|
|||
|
||||
controller.get("selectedPostIds").pushObject(42);
|
||||
|
||||
assert.ok(controller.get("selectedAllPosts"), "all posts (including filtered posts) are selected");
|
||||
assert.ok(
|
||||
controller.get("selectedAllPosts"),
|
||||
"all posts (including filtered posts) are selected"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("selectedPostsUsername", function(assert) {
|
||||
|
@ -89,7 +130,7 @@ QUnit.test("selectedPostsUsername", function(assert) {
|
|||
posts: [
|
||||
{ id: 1, username: "gary" },
|
||||
{ id: 2, username: "gary" },
|
||||
{ id: 3, username: "lili" },
|
||||
{ id: 3, username: "lili" }
|
||||
],
|
||||
stream: [1, 2, 3]
|
||||
};
|
||||
|
@ -98,23 +139,43 @@ QUnit.test("selectedPostsUsername", function(assert) {
|
|||
const controller = this.subject({ model });
|
||||
const selectedPostIds = controller.get("selectedPostIds");
|
||||
|
||||
assert.equal(controller.get("selectedPostsUsername"), undefined, "no username when no selected posts");
|
||||
assert.equal(
|
||||
controller.get("selectedPostsUsername"),
|
||||
undefined,
|
||||
"no username when no selected posts"
|
||||
);
|
||||
|
||||
selectedPostIds.pushObject(1);
|
||||
|
||||
assert.equal(controller.get("selectedPostsUsername"), "gary", "username of the selected posts");
|
||||
assert.equal(
|
||||
controller.get("selectedPostsUsername"),
|
||||
"gary",
|
||||
"username of the selected posts"
|
||||
);
|
||||
|
||||
selectedPostIds.pushObject(2);
|
||||
|
||||
assert.equal(controller.get("selectedPostsUsername"), "gary", "username of all the selected posts when same user");
|
||||
assert.equal(
|
||||
controller.get("selectedPostsUsername"),
|
||||
"gary",
|
||||
"username of all the selected posts when same user"
|
||||
);
|
||||
|
||||
selectedPostIds.pushObject(3);
|
||||
|
||||
assert.equal(controller.get("selectedPostsUsername"), undefined, "no username when more than 1 user");
|
||||
assert.equal(
|
||||
controller.get("selectedPostsUsername"),
|
||||
undefined,
|
||||
"no username when more than 1 user"
|
||||
);
|
||||
|
||||
selectedPostIds.replace(2, 1, [42]);
|
||||
|
||||
assert.equal(controller.get("selectedPostsUsername"), undefined, "no username when not already loaded posts are selected");
|
||||
assert.equal(
|
||||
controller.get("selectedPostsUsername"),
|
||||
undefined,
|
||||
"no username when not already loaded posts are selected"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("showSelectedPostsAtBottom", function(assert) {
|
||||
|
@ -126,11 +187,17 @@ QUnit.test("showSelectedPostsAtBottom", function(assert) {
|
|||
|
||||
site.set("mobileView", true);
|
||||
|
||||
assert.not(controller.get("showSelectedPostsAtBottom"), "requires at least 3 posts on mobile");
|
||||
assert.not(
|
||||
controller.get("showSelectedPostsAtBottom"),
|
||||
"requires at least 3 posts on mobile"
|
||||
);
|
||||
|
||||
model.set("posts_count", 4);
|
||||
|
||||
assert.ok(controller.get("showSelectedPostsAtBottom"), "true when mobile and more than 3 posts");
|
||||
assert.ok(
|
||||
controller.get("showSelectedPostsAtBottom"),
|
||||
"true when mobile and more than 3 posts"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("canDeleteSelected", function(assert) {
|
||||
|
@ -147,19 +214,31 @@ QUnit.test("canDeleteSelected", function(assert) {
|
|||
const controller = this.subject({ model });
|
||||
const selectedPostIds = controller.get("selectedPostIds");
|
||||
|
||||
assert.not(controller.get("canDeleteSelected"), "false when no posts are selected");
|
||||
assert.not(
|
||||
controller.get("canDeleteSelected"),
|
||||
"false when no posts are selected"
|
||||
);
|
||||
|
||||
selectedPostIds.pushObject(1);
|
||||
|
||||
assert.not(controller.get("canDeleteSelected"), "false when can't delete one of the selected posts");
|
||||
assert.not(
|
||||
controller.get("canDeleteSelected"),
|
||||
"false when can't delete one of the selected posts"
|
||||
);
|
||||
|
||||
selectedPostIds.replace(0, 1, [2, 3]);
|
||||
|
||||
assert.ok(controller.get("canDeleteSelected"), "true when all selected posts can be deleted");
|
||||
assert.ok(
|
||||
controller.get("canDeleteSelected"),
|
||||
"true when all selected posts can be deleted"
|
||||
);
|
||||
|
||||
selectedPostIds.pushObject(1);
|
||||
|
||||
assert.ok(controller.get("canDeleteSelected"), "true when all posts are selected");
|
||||
assert.ok(
|
||||
controller.get("canDeleteSelected"),
|
||||
"true when all posts are selected"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("Can split/merge topic", function(assert) {
|
||||
|
@ -172,17 +251,32 @@ QUnit.test("Can split/merge topic", function(assert) {
|
|||
stream: [1, 2, 3]
|
||||
};
|
||||
|
||||
const model = Topic.create({ postStream, details: { can_move_posts: false } });
|
||||
const model = Topic.create({
|
||||
postStream,
|
||||
details: { can_move_posts: false }
|
||||
});
|
||||
const controller = this.subject({ model });
|
||||
const selectedPostIds = controller.get("selectedPostIds");
|
||||
|
||||
assert.not(controller.get("canSplitTopic"), "can't split topic when no posts are selected");
|
||||
assert.not(controller.get("canMergeTopic"), "can't merge topic when no posts are selected");
|
||||
assert.not(
|
||||
controller.get("canSplitTopic"),
|
||||
"can't split topic when no posts are selected"
|
||||
);
|
||||
assert.not(
|
||||
controller.get("canMergeTopic"),
|
||||
"can't merge topic when no posts are selected"
|
||||
);
|
||||
|
||||
selectedPostIds.pushObject(1);
|
||||
|
||||
assert.not(controller.get("canSplitTopic"), "can't split topic when can't move posts");
|
||||
assert.not(controller.get("canMergeTopic"), "can't merge topic when can't move posts");
|
||||
assert.not(
|
||||
controller.get("canSplitTopic"),
|
||||
"can't split topic when can't move posts"
|
||||
);
|
||||
assert.not(
|
||||
controller.get("canMergeTopic"),
|
||||
"can't merge topic when can't move posts"
|
||||
);
|
||||
|
||||
model.set("details.can_move_posts", true);
|
||||
|
||||
|
@ -192,33 +286,47 @@ QUnit.test("Can split/merge topic", function(assert) {
|
|||
selectedPostIds.removeObject(1);
|
||||
selectedPostIds.pushObject(2);
|
||||
|
||||
assert.not(controller.get("canSplitTopic"), "can't split topic when 1st post is not a regular post");
|
||||
assert.ok(controller.get("canMergeTopic"), "can merge topic when 1st post is not a regular post");
|
||||
assert.not(
|
||||
controller.get("canSplitTopic"),
|
||||
"can't split topic when 1st post is not a regular post"
|
||||
);
|
||||
assert.ok(
|
||||
controller.get("canMergeTopic"),
|
||||
"can merge topic when 1st post is not a regular post"
|
||||
);
|
||||
|
||||
selectedPostIds.pushObject(3);
|
||||
|
||||
assert.not(controller.get("canSplitTopic"), "can't split topic when all posts are selected");
|
||||
assert.ok(controller.get("canMergeTopic"), "can merge topic when all posts are selected");
|
||||
assert.not(
|
||||
controller.get("canSplitTopic"),
|
||||
"can't split topic when all posts are selected"
|
||||
);
|
||||
assert.ok(
|
||||
controller.get("canMergeTopic"),
|
||||
"can merge topic when all posts are selected"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("canChangeOwner", function(assert) {
|
||||
const currentUser = Discourse.User.create({ admin: false });
|
||||
this.registry.register("current-user:main", currentUser, { instantiate: false });
|
||||
this.registry.register("current-user:main", currentUser, {
|
||||
instantiate: false
|
||||
});
|
||||
this.registry.injection("controller", "currentUser", "current-user:main");
|
||||
|
||||
const postStream = {
|
||||
posts: [
|
||||
{ id: 1, username: "gary" },
|
||||
{ id: 2, username: "lili" },
|
||||
],
|
||||
posts: [{ id: 1, username: "gary" }, { id: 2, username: "lili" }],
|
||||
stream: [1, 2]
|
||||
};
|
||||
|
||||
const model = Topic.create({ postStream, currentUser: { admin: false }});
|
||||
const model = Topic.create({ postStream, currentUser: { admin: false } });
|
||||
const controller = this.subject({ model });
|
||||
const selectedPostIds = controller.get("selectedPostIds");
|
||||
|
||||
assert.not(controller.get("canChangeOwner"), "false when no posts are selected");
|
||||
assert.not(
|
||||
controller.get("canChangeOwner"),
|
||||
"false when no posts are selected"
|
||||
);
|
||||
|
||||
selectedPostIds.pushObject(1);
|
||||
|
||||
|
@ -226,11 +334,17 @@ QUnit.test("canChangeOwner", function(assert) {
|
|||
|
||||
currentUser.set("admin", true);
|
||||
|
||||
assert.ok(controller.get("canChangeOwner"), "true when admin and one post is selected");
|
||||
assert.ok(
|
||||
controller.get("canChangeOwner"),
|
||||
"true when admin and one post is selected"
|
||||
);
|
||||
|
||||
selectedPostIds.pushObject(2);
|
||||
|
||||
assert.not(controller.get("canChangeOwner"), "false when admin but more than 1 user");
|
||||
assert.not(
|
||||
controller.get("canChangeOwner"),
|
||||
"false when admin but more than 1 user"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("canMergePosts", function(assert) {
|
||||
|
@ -239,7 +353,7 @@ QUnit.test("canMergePosts", function(assert) {
|
|||
{ id: 1, username: "gary", can_delete: true },
|
||||
{ id: 2, username: "lili", can_delete: true },
|
||||
{ id: 3, username: "gary", can_delete: false },
|
||||
{ id: 4, username: "gary", can_delete: true },
|
||||
{ id: 4, username: "gary", can_delete: true }
|
||||
],
|
||||
stream: [1, 2, 3]
|
||||
};
|
||||
|
@ -248,23 +362,38 @@ QUnit.test("canMergePosts", function(assert) {
|
|||
const controller = this.subject({ model });
|
||||
const selectedPostIds = controller.get("selectedPostIds");
|
||||
|
||||
assert.not(controller.get("canMergePosts"), "false when no posts are selected");
|
||||
assert.not(
|
||||
controller.get("canMergePosts"),
|
||||
"false when no posts are selected"
|
||||
);
|
||||
|
||||
selectedPostIds.pushObject(1);
|
||||
|
||||
assert.not(controller.get("canMergePosts"), "false when only one post is selected");
|
||||
assert.not(
|
||||
controller.get("canMergePosts"),
|
||||
"false when only one post is selected"
|
||||
);
|
||||
|
||||
selectedPostIds.pushObject(2);
|
||||
|
||||
assert.not(controller.get("canMergePosts"), "false when selected posts are from different users");
|
||||
assert.not(
|
||||
controller.get("canMergePosts"),
|
||||
"false when selected posts are from different users"
|
||||
);
|
||||
|
||||
selectedPostIds.replace(1, 1, [3]);
|
||||
|
||||
assert.not(controller.get("canMergePosts"), "false when selected posts can't be deleted");
|
||||
assert.not(
|
||||
controller.get("canMergePosts"),
|
||||
"false when selected posts can't be deleted"
|
||||
);
|
||||
|
||||
selectedPostIds.replace(1, 1, [4]);
|
||||
|
||||
assert.ok(controller.get("canMergePosts"), "true when all selected posts are deletable and by the same user");
|
||||
assert.ok(
|
||||
controller.get("canMergePosts"),
|
||||
"true when all selected posts are deletable and by the same user"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("Select/deselect all", function(assert) {
|
||||
|
@ -272,15 +401,27 @@ QUnit.test("Select/deselect all", function(assert) {
|
|||
const model = Topic.create({ postStream });
|
||||
const controller = this.subject({ model });
|
||||
|
||||
assert.equal(controller.get("selectedPostsCount"), 0, "no posts selected by default");
|
||||
assert.equal(
|
||||
controller.get("selectedPostsCount"),
|
||||
0,
|
||||
"no posts selected by default"
|
||||
);
|
||||
|
||||
controller.send("selectAll");
|
||||
|
||||
assert.equal(controller.get("selectedPostsCount"), postStream.stream.length, "calling 'selectAll' selects all posts");
|
||||
assert.equal(
|
||||
controller.get("selectedPostsCount"),
|
||||
postStream.stream.length,
|
||||
"calling 'selectAll' selects all posts"
|
||||
);
|
||||
|
||||
controller.send("deselectAll");
|
||||
|
||||
assert.equal(controller.get("selectedPostsCount"), 0, "calling 'deselectAll' deselects all posts");
|
||||
assert.equal(
|
||||
controller.get("selectedPostsCount"),
|
||||
0,
|
||||
"calling 'deselectAll' deselects all posts"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("togglePostSelection", function(assert) {
|
||||
|
@ -291,11 +432,19 @@ QUnit.test("togglePostSelection", function(assert) {
|
|||
|
||||
controller.send("togglePostSelection", { id: 1 });
|
||||
|
||||
assert.equal(selectedPostIds[0], 1, "adds the selected post id if not already selected");
|
||||
assert.equal(
|
||||
selectedPostIds[0],
|
||||
1,
|
||||
"adds the selected post id if not already selected"
|
||||
);
|
||||
|
||||
controller.send("togglePostSelection", { id: 1 });
|
||||
|
||||
assert.equal(selectedPostIds[0], undefined, "removes the selected post id if already selected");
|
||||
assert.equal(
|
||||
selectedPostIds[0],
|
||||
undefined,
|
||||
"removes the selected post id if already selected"
|
||||
);
|
||||
});
|
||||
|
||||
// QUnit.test("selectReplies", function(assert) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue