Merge remote-tracking branch 'origin/master' into flagging-refactor

This commit is contained in:
Julian Lam
2016-12-01 09:26:26 -05:00
11 changed files with 292 additions and 88 deletions

View File

@@ -703,6 +703,91 @@ describe('Controllers', function () {
});
});
describe('account post pages', function () {
var helpers = require('./helpers');
var jar;
before(function (done) {
helpers.loginUser('foo', 'barbar', function (err, _jar) {
assert.ifError(err);
jar = _jar;
done();
});
});
it('should load /user/foo/posts', function (done) {
request(nconf.get('url') + '/api/user/foo/posts', function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 200);
assert(body);
done();
});
});
it('should 401 if not logged in', function (done) {
request(nconf.get('url') + '/api/user/foo/bookmarks', function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 401);
assert(body);
done();
});
});
it('should load /user/foo/bookmarks', function (done) {
request(nconf.get('url') + '/api/user/foo/bookmarks', {jar: jar}, function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 200);
assert(body);
done();
});
});
it('should load /user/foo/upvoted', function (done) {
request(nconf.get('url') + '/api/user/foo/upvoted', {jar: jar}, function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 200);
assert(body);
done();
});
});
it('should load /user/foo/downvoted', function (done) {
request(nconf.get('url') + '/api/user/foo/downvoted', {jar: jar}, function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 200);
assert(body);
done();
});
});
it('should load /user/foo/best', function (done) {
request(nconf.get('url') + '/api/user/foo/best', function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 200);
assert(body);
done();
});
});
it('should load /user/foo/watched', function (done) {
request(nconf.get('url') + '/api/user/foo/watched', {jar: jar}, function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 200);
assert(body);
done();
});
});
it('should load /user/foo/topics', function (done) {
request(nconf.get('url') + '/api/user/foo/topics', function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 200);
assert(body);
done();
});
});
});
after(function (done) {
var analytics = require('../src/analytics');
analytics.writeData(function (err) {

View File

@@ -93,14 +93,68 @@ describe('Groups', function () {
});
describe('.search()', function () {
var socketGroups = require('../src/socket.io/groups');
it('should return the groups when search query is empty', function (done) {
socketGroups.search({uid: adminUid}, {query: ''}, function (err, groups) {
assert.ifError(err);
assert.equal(3, groups.length);
done();
});
});
it('should return the "Test" group when searched for', function (done) {
Groups.search('test', {}, function (err, groups) {
socketGroups.search({uid: adminUid}, {query: 'test'}, function (err, groups) {
assert.ifError(err);
assert.equal(1, groups.length);
assert.strictEqual('Test', groups[0].name);
done();
});
});
it('should return the "Test" group when searched for and sort by member count', function (done) {
Groups.search('test', {filterHidden: true, sort: 'count'}, function (err, groups) {
assert.ifError(err);
assert.equal(1, groups.length);
assert.strictEqual('Test', groups[0].name);
done();
});
});
it('should return the "Test" group when searched for and sort by creation time', function (done) {
Groups.search('test', {filterHidden: true, sort: 'date'}, function (err, groups) {
assert.ifError(err);
assert.equal(1, groups.length);
assert.strictEqual('Test', groups[0].name);
done();
});
});
it('should return all users if no query', function (done) {
User.create({
username: 'newuser',
email: 'newuser@b.com'
}, function (err, uid) {
assert.ifError(err);
Groups.join('Test', uid, function (err) {
assert.ifError(err);
socketGroups.searchMembers({uid: adminUid}, {groupName: 'Test', query: ''}, function (err, data) {
assert.ifError(err);
assert.equal(data.users.length, 2);
done();
});
});
});
});
it('should search group members', function (done) {
socketGroups.searchMembers({uid: adminUid}, {groupName: 'Test', query: 'test'}, function (err, data) {
assert.ifError(err);
assert.strictEqual('testuser', data.users[0].username);
done();
});
});
});
describe('.isMember()', function () {
@@ -184,6 +238,20 @@ describe('Groups', function () {
done();
});
});
it('should fail to create group if slug is empty', function (done) {
Groups.create({name: '>>>>'}, function (err) {
assert.equal(err.message, '[[error:invalid-group-name]]');
done();
});
});
it('should fail if group name is invalid', function (done) {
Groups.create({name: 'not/valid'}, function (err) {
assert.equal(err.message, '[[error:invalid-group-name]]');
done();
});
});
});
describe('.hide()', function () {

View File

@@ -4,6 +4,7 @@
var assert = require('assert');
var path = require('path');
var nconf = require('nconf');
var request = require('request');
var db = require('./mocks/databasemock');
var plugins = require('../src/plugins');
@@ -149,6 +150,35 @@ describe('Plugins', function () {
});
});
describe('static assets', function () {
it('should 404 if resource does not exist', function (done) {
request.get(nconf.get('url') + '/plugins/doesnotexist/should404.tpl', function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 404);
assert(body);
done();
});
});
it('should 404 if resource does not exist', function (done) {
request.get(nconf.get('url') + '/plugins/nodebb-plugin-dbsearch/dbsearch/templates/admin/plugins/should404.tpl', function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 404);
assert(body);
done();
});
});
it('should get resource', function (done) {
request.get(nconf.get('url') + '/plugins/nodebb-plugin-dbsearch/dbsearch/templates/admin/plugins/dbsearch.tpl', function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 200);
assert(body);
done();
});
});
});
});