mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Add tests to flagged topics
This commit is contained in:
121
test/javascripts/acceptance/admin-flags-test.js.es6
Normal file
121
test/javascripts/acceptance/admin-flags-test.js.es6
Normal file
@@ -0,0 +1,121 @@
|
||||
import { acceptance } from "helpers/qunit-helpers";
|
||||
acceptance("Admin - Flagging", { loggedIn: true });
|
||||
|
||||
QUnit.test("flagged posts", assert => {
|
||||
visit("/admin/flags/active");
|
||||
andThen(() => {
|
||||
assert.equal(find('.admin-flags .flagged-post').length, 1);
|
||||
assert.equal(find('.flagged-post .flaggers .flagger').length, 1, 'shows who flagged it');
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("flagged posts - agree", assert => {
|
||||
visit("/admin/flags/active");
|
||||
click('.agree-flag');
|
||||
andThen(() => {
|
||||
assert.equal(find('.agree-flag-modal:visible').length, 1);
|
||||
});
|
||||
click('.confirm-agree-keep');
|
||||
andThen(() => {
|
||||
assert.equal(find('.agree-flag-modal:visible').length, 0, 'modal is closed');
|
||||
assert.equal(find('.admin-flags .flagged-post').length, 0, 'post was removed');
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("flagged posts - agree + hide", assert => {
|
||||
visit("/admin/flags/active");
|
||||
click('.agree-flag');
|
||||
andThen(() => {
|
||||
assert.equal(find('.agree-flag-modal:visible').length, 1);
|
||||
});
|
||||
click('.confirm-agree-hide');
|
||||
andThen(() => {
|
||||
assert.equal(find('.agree-flag-modal:visible').length, 0, 'modal is closed');
|
||||
assert.equal(find('.admin-flags .flagged-post').length, 0, 'post was removed');
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("flagged posts - agree + deleteSpammer", assert => {
|
||||
visit("/admin/flags/active");
|
||||
click('.agree-flag');
|
||||
andThen(() => {
|
||||
assert.equal(find('.agree-flag-modal:visible').length, 1);
|
||||
});
|
||||
click('.delete-spammer');
|
||||
click('.confirm-delete');
|
||||
andThen(() => {
|
||||
assert.equal(find('.agree-flag-modal:visible').length, 0, 'modal is closed');
|
||||
assert.equal(find('.admin-flags .flagged-post').length, 0, 'post was removed');
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("flagged posts - disagree", assert => {
|
||||
visit("/admin/flags/active");
|
||||
click('.disagree-flag');
|
||||
andThen(() => {
|
||||
assert.equal(find('.admin-flags .flagged-post').length, 0);
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("flagged posts - defer", assert => {
|
||||
visit("/admin/flags/active");
|
||||
click('.defer-flag');
|
||||
andThen(() => {
|
||||
assert.equal(find('.admin-flags .flagged-post').length, 0);
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("flagged posts - delete + defer", assert => {
|
||||
visit("/admin/flags/active");
|
||||
click('.delete-flag');
|
||||
andThen(() => {
|
||||
assert.equal(find('.delete-flag-modal:visible').length, 1);
|
||||
});
|
||||
click('.delete-defer');
|
||||
andThen(() => {
|
||||
assert.equal(find('.delete-flag-modal:visible').length, 0);
|
||||
assert.equal(find('.admin-flags .flagged-post').length, 0);
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("flagged posts - delete + agree", assert => {
|
||||
visit("/admin/flags/active");
|
||||
click('.delete-flag');
|
||||
andThen(() => {
|
||||
assert.equal(find('.delete-flag-modal:visible').length, 1);
|
||||
});
|
||||
click('.delete-agree');
|
||||
andThen(() => {
|
||||
assert.equal(find('.delete-flag-modal:visible').length, 0);
|
||||
assert.equal(find('.admin-flags .flagged-post').length, 0);
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("flagged posts - delete + deleteSpammer", assert => {
|
||||
visit("/admin/flags/active");
|
||||
click('.delete-flag');
|
||||
andThen(() => {
|
||||
assert.equal(find('.delete-flag-modal:visible').length, 1);
|
||||
});
|
||||
click('.delete-spammer');
|
||||
click('.confirm-delete');
|
||||
andThen(() => {
|
||||
assert.equal(find('.delete-flag-modal:visible').length, 0);
|
||||
assert.equal(find('.admin-flags .flagged-post').length, 0);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
QUnit.test("topics with flags", assert => {
|
||||
visit("/admin/flags/topics");
|
||||
andThen(() => {
|
||||
assert.equal(find('.flagged-topics .flagged-topic').length, 1);
|
||||
assert.equal(find('.flagged-topic .flagged-topic-user').length, 2);
|
||||
assert.equal(find('.flagged-topic .flag-counts').length, 3);
|
||||
});
|
||||
|
||||
click('.flagged-topic .show-details');
|
||||
andThen(() => {
|
||||
assert.equal(currentURL(), '/admin/flags/topics/280');
|
||||
});
|
||||
});
|
||||
@@ -1,11 +0,0 @@
|
||||
import { acceptance } from "helpers/qunit-helpers";
|
||||
acceptance("Admin - Flagged Topics", { loggedIn: true });
|
||||
|
||||
QUnit.test("topics with flags", assert => {
|
||||
visit("/admin/flags/topics");
|
||||
andThen(() => {
|
||||
assert.ok(exists('.watched-words-list'));
|
||||
assert.ok(!exists('.watched-words-list .watched-word'), "Don't show bad words by default.");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import storePretender from 'helpers/store-pretender';
|
||||
import fixturePretender from 'helpers/fixture-pretender';
|
||||
import flagPretender from 'helpers/flag-pretender';
|
||||
|
||||
export function parsePostData(query) {
|
||||
const result = {};
|
||||
@@ -41,6 +42,7 @@ export default function() {
|
||||
|
||||
const server = new Pretender(function() {
|
||||
storePretender.call(this, helpers);
|
||||
flagPretender.call(this, helpers);
|
||||
const fixturesByUrl = fixturePretender.call(this, helpers);
|
||||
|
||||
this.get('/admin/plugins', () => response({ plugins: [] }));
|
||||
@@ -66,7 +68,7 @@ export default function() {
|
||||
}] });
|
||||
});
|
||||
|
||||
this.get(`/u/eviltrout/emails.json`, () => {
|
||||
this.get(`/u/:username/emails.json`, () => {
|
||||
return response({ email: 'eviltrout@example.com' });
|
||||
});
|
||||
|
||||
@@ -323,14 +325,6 @@ export default function() {
|
||||
]);
|
||||
});
|
||||
|
||||
this.get('/admin/flagged_topics', () => {
|
||||
return response(200, {
|
||||
"flagged_topics": [
|
||||
{ id: 1 }
|
||||
]
|
||||
});
|
||||
});
|
||||
|
||||
this.get('/admin/customize/site_texts', request => {
|
||||
|
||||
if (request.queryParams.overridden) {
|
||||
@@ -353,6 +347,7 @@ export default function() {
|
||||
this.get('/tag_groups', () => response(200, {tag_groups: []}));
|
||||
this.post('/admin/users/:user_id/generate_api_key', success);
|
||||
this.delete('/admin/users/:user_id/revoke_api_key', success);
|
||||
this.delete('/admin/users/:user_id.json', () => response(200, { deleted: true }));
|
||||
this.post('/admin/badges', success);
|
||||
this.delete('/admin/badges/:id', success);
|
||||
|
||||
|
||||
58
test/javascripts/helpers/flag-pretender.js.es6
Normal file
58
test/javascripts/helpers/flag-pretender.js.es6
Normal file
@@ -0,0 +1,58 @@
|
||||
export default function(helpers) {
|
||||
const { response, success } = helpers;
|
||||
|
||||
const eviltrout = {
|
||||
id: 1,
|
||||
username: "eviltrout",
|
||||
avatar_template:"/images/avatar.png",
|
||||
};
|
||||
const sam = {
|
||||
id: 2,
|
||||
username: "sam",
|
||||
avatar_template:"/images/avatar.png",
|
||||
can_delete_all_posts: true,
|
||||
can_be_deleted: true,
|
||||
post_count: 1,
|
||||
topic_count: 0
|
||||
};
|
||||
|
||||
this.get('/admin/flagged_topics', () => {
|
||||
return response(200, {
|
||||
"flagged_topics": [
|
||||
{
|
||||
id: 280,
|
||||
user_ids: [eviltrout.id, sam.id],
|
||||
flag_counts: [
|
||||
{ flag_type_id: 1, count: 3 },
|
||||
{ flag_type_id: 2, count: 2 },
|
||||
{ flag_type_id: 3, count: 1 },
|
||||
]
|
||||
}
|
||||
],
|
||||
"users": [ eviltrout, sam ],
|
||||
"__rest_serializer":"1"
|
||||
});
|
||||
});
|
||||
|
||||
this.get('/admin/flags/active.json', () => {
|
||||
return response(200, {
|
||||
posts: [
|
||||
{
|
||||
id: 1,
|
||||
user_id: sam.id,
|
||||
post_actions: [{
|
||||
user_id: eviltrout.id,
|
||||
post_action_type_id: 8,
|
||||
name_key: 'spam'
|
||||
}]
|
||||
}
|
||||
],
|
||||
users: [eviltrout, sam],
|
||||
topics: [],
|
||||
});
|
||||
});
|
||||
|
||||
this.post('/admin/flags/agree/1', success);
|
||||
this.post('/admin/flags/defer/1', success);
|
||||
this.post('/admin/flags/disagree/1', success);
|
||||
}
|
||||
Reference in New Issue
Block a user