mirror of
https://github.com/wassname/talk.git
synced 2026-06-29 21:27:02 +08:00
102 lines
2.5 KiB
JavaScript
102 lines
2.5 KiB
JavaScript
const passport = require('../../../passport');
|
|
|
|
const app = require('../../../../app');
|
|
const chai = require('chai');
|
|
const expect = chai.expect;
|
|
|
|
// Setup chai.
|
|
chai.should();
|
|
chai.use(require('chai-http'));
|
|
|
|
const Comment = require('../../../../models/comment');
|
|
const Action = require('../../../../models/action');
|
|
const UsersService = require('../../../../services/users');
|
|
|
|
const SettingsService = require('../../../../services/settings');
|
|
const settings = {id: '1', moderation: 'PRE', wordlist: {banned: ['banned'], suspect: ['suspect']}};
|
|
|
|
describe('/api/v1/queue', () => {
|
|
const comments = [{
|
|
id: 'abc',
|
|
body: 'comment 10',
|
|
asset_id: 'asset',
|
|
author_id: '123',
|
|
status: 'REJECTED',
|
|
status_history: [{
|
|
type: 'REJECTED'
|
|
}]
|
|
}, {
|
|
id: 'def',
|
|
body: 'comment 20',
|
|
asset_id: 'asset',
|
|
author_id: '456',
|
|
status: 'PREMOD',
|
|
status_history: [{
|
|
type: 'PREMOD'
|
|
}]
|
|
}, {
|
|
id: 'hij',
|
|
body: 'comment 30',
|
|
asset_id: '456',
|
|
status: 'ACCEPTED',
|
|
status_history: [{
|
|
type: 'ACCEPTED'
|
|
}]
|
|
}];
|
|
|
|
const users = [{
|
|
displayName: 'Ana',
|
|
email: 'ana@gmail.com',
|
|
password: '123456789'
|
|
}, {
|
|
displayName: 'Maria',
|
|
email: 'maria@gmail.com',
|
|
password: '123456789'
|
|
}];
|
|
|
|
const actions = [{
|
|
action_type: 'FLAG',
|
|
item_id: 'abc',
|
|
item_type: 'COMMENTS'
|
|
}, {
|
|
action_type: 'LIKE',
|
|
item_id: 'hij',
|
|
item_type: 'COMMENTS'
|
|
}];
|
|
|
|
beforeEach(() => {
|
|
return SettingsService.init(settings).then(() => {
|
|
return UsersService.createLocalUsers(users)
|
|
.then((u) => {
|
|
comments[0].author_id = u[0].id;
|
|
comments[1].author_id = u[1].id;
|
|
comments[2].author_id = u[1].id;
|
|
|
|
return Comment.create(comments);
|
|
})
|
|
.then((c) => {
|
|
actions[0].item_id = c[0].id;
|
|
actions[1].item_id = c[1].id;
|
|
|
|
return Promise.all([
|
|
Action.create(actions),
|
|
SettingsService.init(settings)
|
|
]);
|
|
});
|
|
});
|
|
});
|
|
|
|
it('should return all the pending comments, users and actions', () => {
|
|
return chai.request(app)
|
|
.get('/api/v1/queue/comments/pending')
|
|
.set(passport.inject({roles: ['ADMIN']}))
|
|
.then((res) => {
|
|
expect(res).to.have.status(200);
|
|
expect(res.body.comments).to.have.length(1);
|
|
expect(res.body.comments[0]).to.have.property('body');
|
|
expect(res.body.users[0]).to.have.property('displayName');
|
|
expect(res.body.actions[0]).to.have.property('action_type');
|
|
});
|
|
});
|
|
});
|