Merge branch 'master' into 142993479-tags

This commit is contained in:
Wyatt Johnson
2017-05-17 10:01:58 -06:00
150 changed files with 1038 additions and 1105 deletions
+1 -1
View File
@@ -73,7 +73,7 @@ const embedStreamCommands = {
.waitForElementVisible('@permalinkButton')
.click('@permalinkButton')
.waitForElementVisible('@permalinkPopUp')
.getValue('@permalinkInput', result => fn(result.value));
.getValue('@permalinkInput', (result) => fn(result.value));
}
};
+1 -1
View File
@@ -1,6 +1,6 @@
module.exports = {
'@tags': ['app'],
'Base url and Hostname': browser => {
'Base url and Hostname': (browser) => {
const {baseUrl} = browser.globals;
browser
.url(baseUrl)
+7 -7
View File
@@ -2,7 +2,7 @@ const mocks = require('../mocks');
module.exports = {
'@tags': ['embedStream'],
before: client => {
before: (client) => {
client.perform((client, done) => {
mocks.settings({moderation: 'PRE'})
.then(() => {
@@ -14,29 +14,29 @@ module.exports = {
});
});
},
'Login as commenter': client => {
'Login as commenter': (client) => {
const embedStreamPage = client.page.embedStreamPage();
const {users} = client.globals;
embedStreamPage
.login(users.commenter);
},
'Add test comment': client => {
'Add test comment': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.postComment('Test Comment');
},
'Logout': client => {
'Logout': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.logout();
},
'Login as admin': client => {
'Login as admin': (client) => {
const embedStreamPage = client.page.embedStreamPage();
const {users} = client.globals;
embedStreamPage
.login(users.admin);
},
'Approve test comment': client => {
'Approve test comment': (client) => {
const adminPage = client.page.adminPage();
adminPage
@@ -46,7 +46,7 @@ module.exports = {
adminPage
.approveComment();
},
after: client => {
after: (client) => {
client.end();
}
};
+2 -2
View File
@@ -10,14 +10,14 @@ module.exports = {
embedStreamPage
.ready();
},
'Admin logs in': client => {
'Admin logs in': (client) => {
const {users} = client.globals;
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.login(users.admin);
},
after: client => {
after: (client) => {
client.end();
}
};
+3 -3
View File
@@ -1,6 +1,6 @@
module.exports = {
'@tags': ['like', 'comments', 'commenter'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
const {users} = client.globals;
@@ -11,7 +11,7 @@ module.exports = {
embedStreamPage
.login(users.commenter);
},
'Commenters should not see the set-best-comment button': client => {
'Commenters should not see the set-best-comment button': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
@@ -19,7 +19,7 @@ module.exports = {
.waitForElementVisible('@likeButton')
.expect.element('@setBestButton').to.not.be.present;
},
after: client => {
after: (client) => {
client.end();
}
};
+3 -3
View File
@@ -1,6 +1,6 @@
module.exports = {
'@tags': ['flag', 'comments', 'commenter'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
const {users} = client.globals;
@@ -11,7 +11,7 @@ module.exports = {
embedStreamPage
.login(users.commenter);
},
'Commenter flags a comment': client => {
'Commenter flags a comment': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
@@ -28,7 +28,7 @@ module.exports = {
.click('@flagDoneButton')
.expect.element('@flagButtonText').text.to.equal('Reported');
},
after: client => {
after: (client) => {
client.end();
}
};
+3 -3
View File
@@ -1,6 +1,6 @@
module.exports = {
'@tags': ['flag', 'commenter'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
const {users} = client.globals;
@@ -11,7 +11,7 @@ module.exports = {
embedStreamPage
.login(users.commenter);
},
'Commenter flags a username': client => {
'Commenter flags a username': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
@@ -28,7 +28,7 @@ module.exports = {
.click('@flagDoneButton')
.click('@flagDoneButton');
},
after: client => {
after: (client) => {
client.end();
}
};
+3 -3
View File
@@ -1,6 +1,6 @@
module.exports = {
'@tags': ['like', 'comments', 'commenter'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
const {users} = client.globals;
@@ -11,7 +11,7 @@ module.exports = {
embedStreamPage
.login(users.commenter);
},
'Commenter likes a comment': client => {
'Commenter likes a comment': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
@@ -21,7 +21,7 @@ module.exports = {
.expect.element('@likeText').text.to.equal('Liked');
},
after: client => {
after: (client) => {
client.end();
}
};
+3 -3
View File
@@ -1,20 +1,20 @@
module.exports = {
'@tags': ['login', 'commenter'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.navigate()
.ready();
},
'Commenter logs in': client => {
'Commenter logs in': (client) => {
const {users} = client.globals;
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.login(users.commenter);
},
after: client => {
after: (client) => {
client.end();
}
};
+5 -5
View File
@@ -2,7 +2,7 @@ let permalink = '';
module.exports = {
'@tags': ['permalink', 'commenter'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
const {users} = client.globals;
@@ -13,21 +13,21 @@ module.exports = {
embedStreamPage
.login(users.commenter);
},
'Commenter gets the permalink of a comment': client => {
'Commenter gets the permalink of a comment': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.getPermalink(value => {
.getPermalink((value) => {
permalink = value;
});
},
'Commenter navigates to the permalink': client => {
'Commenter navigates to the permalink': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.navigate(permalink);
client.assert.urlContains(permalink);
},
after: client => {
after: (client) => {
client.end();
}
};
+3 -3
View File
@@ -1,6 +1,6 @@
module.exports = {
'@tags': ['write', 'commenter'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
const {users} = client.globals;
@@ -11,13 +11,13 @@ module.exports = {
embedStreamPage
.login(users.commenter);
},
'Commenter posts a comment': client => {
'Commenter posts a comment': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.postComment('I read the comments');
},
after: client => {
after: (client) => {
const adminPage = client.page.adminPage();
const embedStreamPage = client.page.embedStreamPage();
const {users} = client.globals;
+5 -5
View File
@@ -20,7 +20,7 @@ module.exports = {
}
});
},
'User registers and posts a comment with premod off': client => {
'User registers and posts a comment with premod off': (client) => {
client.perform((client, done) => {
mocks.settings({moderation: 'POST'})
.then(() => {
@@ -60,7 +60,7 @@ module.exports = {
});
});
},
'User posts a comment with premod on': client => {
'User posts a comment with premod on': (client) => {
client.perform((client, done) => {
mocks.settings({moderation: 'PRE'})
.then(() => {
@@ -81,7 +81,7 @@ module.exports = {
});
});
},
'User replies to a comment with premod off': client => {
'User replies to a comment with premod off': (client) => {
client.perform((client, done) => {
mocks.settings({moderation: 'POST'})
.then(() => {
@@ -160,7 +160,7 @@ module.exports = {
// });
// });
// },
'Total comment count premod on': client => {
'Total comment count premod on': (client) => {
client.perform((client, done) => {
client.url(client.globals.baseUrl)
.frame('coralStreamEmbed_iframe');
@@ -171,7 +171,7 @@ module.exports = {
done();
});
},
after: client => {
after: (client) => {
mongoose.disconnect(function(err) {
if (err) {
console.error(err);
+3 -3
View File
@@ -1,6 +1,6 @@
module.exports = {
'@tags': ['like', 'comments', 'commenter'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
const {users} = client.globals;
@@ -11,7 +11,7 @@ module.exports = {
embedStreamPage
.login(users.moderator);
},
'Moderator marks/unmarks their comment as BEST': client => {
'Moderator marks/unmarks their comment as BEST': (client) => {
const embedStreamPage = client.page.embedStreamPage();
const setBestCommentButton = '.e2e__set-best-comment';
@@ -44,7 +44,7 @@ module.exports = {
.waitForElementVisible(setBestCommentButton);
},
after: client => {
after: (client) => {
client.end();
}
};
+3 -3
View File
@@ -1,6 +1,6 @@
module.exports = {
'@tags': ['login', 'MODERATOR'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
const {launchUrl} = client;
@@ -10,14 +10,14 @@ module.exports = {
embedStreamPage
.ready();
},
'Moderator logs in': client => {
'Moderator logs in': (client) => {
const {users} = client.globals;
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.login(users.moderator);
},
after: client => {
after: (client) => {
client.end();
}
};
+3 -3
View File
@@ -1,20 +1,20 @@
module.exports = {
'@tags': ['flag', 'comments', 'visitor'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.navigate()
.ready();
},
'Visitor tries to flag a comment': client => {
'Visitor tries to flag a comment': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.flagComment()
.waitForElementVisible('@signInDialog', 2000);
},
after: client => {
after: (client) => {
client.end();
}
};
+3 -3
View File
@@ -1,20 +1,20 @@
module.exports = {
'@tags': ['like', 'comments', 'visitor'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.navigate()
.ready();
},
'Visitor tries to like a comment': client => {
'Visitor tries to like a comment': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.likeComment()
.waitForElementVisible('@signInDialog', 2000);
},
after: client => {
after: (client) => {
client.end();
}
};
+3 -3
View File
@@ -1,13 +1,13 @@
module.exports = {
'@tags': ['signup', 'visitor'],
before: client => {
before: (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
.navigate()
.ready();
},
'Visitor signs up': client => {
'Visitor signs up': (client) => {
const embedStreamPage = client.page.embedStreamPage();
embedStreamPage
@@ -17,7 +17,7 @@ module.exports = {
pass: 'testtest'
});
},
after: client => {
after: (client) => {
client.end();
}
};
+1 -1
View File
@@ -24,7 +24,7 @@ describe('graph.loaders.Metrics', () => {
describe('different comment states', () => {
beforeEach(() =>[
CommentModel.create( {id: '1', body: 'a new comment!'}),
CommentModel.create({id: '1', body: 'a new comment!'}),
CommentModel.create({id: '2', body: 'a new comment!'}),
CommentModel.create({id: '3', body: 'a new comment!'})
]);
+13 -4
View File
@@ -42,7 +42,7 @@ describe('graph.mutations.editComment', () => {
const comment = await CommentsService.publicCreate({
asset_id: asset.id,
author_id: user.id,
body: `hello there! ${ String(Math.random()).slice(2)}`,
body: `hello there! ${String(Math.random()).slice(2)}`,
});
// body_history should be there
@@ -64,6 +64,9 @@ describe('graph.mutations.editComment', () => {
console.error(response.errors);
}
expect(response.errors).to.be.empty;
if (response.data.editComment.errors && response.data.editComment.errors.length > 0) {
console.error(response.data.editComment.errors);
}
expect(response.data.editComment.errors).to.be.null;
// assert body has changed
@@ -81,7 +84,7 @@ describe('graph.mutations.editComment', () => {
const comment = await CommentsService.publicCreate({
asset_id: asset.id,
author_id: user.id,
body: `hello there! ${ String(Math.random()).slice(2)}`,
body: `hello there! ${String(Math.random()).slice(2)}`,
});
const now = new Date();
@@ -97,9 +100,12 @@ describe('graph.mutations.editComment', () => {
body: newBody
}
});
if (response.errors && response.errors.length > 0) {
console.error(response.errors);
}
expect(response.errors).to.be.empty;
expect(response.data.editComment.errors).to.not.be.empty;
expect(response.data.editComment.errors[0].translation_key).to.equal('error.editWindowExpired');
expect(response.data.editComment.errors[0].translation_key).to.equal('EDIT_WINDOW_ENDED');
const commentAfterEdit = await CommentsService.findById(comment.id);
// it *hasn't* changed from the original
@@ -110,7 +116,7 @@ describe('graph.mutations.editComment', () => {
const comment = await CommentsService.publicCreate({
asset_id: asset.id,
author_id: user.id,
body: `hello there! ${ String(Math.random()).slice(2)}`,
body: `hello there! ${String(Math.random()).slice(2)}`,
});
const userB = await UsersService.createLocalUser(
@@ -144,6 +150,9 @@ describe('graph.mutations.editComment', () => {
body: newBody
}
});
if (response.errors && response.errors.length > 0) {
console.error(response.errors);
}
expect(response.errors).to.be.empty;
expect(response.data.editComment.errors[0].translation_key).to.equal('NOT_FOUND');
});
+34 -15
View File
@@ -18,9 +18,11 @@ const ignoreUserMutation = `
const getMyIgnoredUsersQuery = `
query myIgnoredUsers {
myIgnoredUsers {
id,
username
me {
ignoredUsers {
id
username
}
}
}
`;
@@ -31,25 +33,32 @@ describe('graph.mutations.ignoreUser', () => {
});
it('users can ignoreUser', async () => {
const user = await UsersService.createLocalUser('usernameA@example.com', 'password', 'usernameA');
let currentUser = await UsersService.createLocalUser('usernameA@example.com', 'password', 'usernameA');
const userToIgnore = await UsersService.createLocalUser('usernameB@example.com', 'password', 'usernameB');
const context = new Context({user});
let context = new Context({user: currentUser});
const ignoreUserResponse = await graphql(schema, ignoreUserMutation, {}, context, {id: userToIgnore.id});
if (ignoreUserResponse.errors && ignoreUserResponse.errors.length) {
console.error(ignoreUserResponse.errors);
}
expect(ignoreUserResponse.errors).to.be.empty;
// Refresh the user from the database and create the new context for the
// request.
currentUser = await UsersService.findById(currentUser.id);
context = new Context({user: currentUser});
// now check my ignored users
const myIgnoredUsersResponse = await graphql(schema, getMyIgnoredUsersQuery, {}, context, {});
if (myIgnoredUsersResponse.errors && myIgnoredUsersResponse.errors.length) {
console.error(myIgnoredUsersResponse.errors);
}
expect(myIgnoredUsersResponse.errors).to.be.empty;
const myIgnoredUsers = myIgnoredUsersResponse.data.myIgnoredUsers;
expect(myIgnoredUsers.length).to.equal(1);
expect(myIgnoredUsers[0].id).to.equal(userToIgnore.id);
expect(myIgnoredUsers[0].username).to.equal(userToIgnore.username);
const ignoredUsers = myIgnoredUsersResponse.data.me.ignoredUsers;
expect(ignoredUsers.length).to.equal(1);
expect(ignoredUsers[0].id).to.equal(userToIgnore.id);
expect(ignoredUsers[0].username).to.equal(userToIgnore.username);
});
it('users cannot ignore themselves', async () => {
@@ -64,7 +73,7 @@ describe('graph.mutations.ignoreUser', () => {
console.error(myIgnoredUsersResponse.errors);
}
expect(myIgnoredUsersResponse.errors).to.be.empty;
const myIgnoredUsers = myIgnoredUsersResponse.data.myIgnoredUsers;
const myIgnoredUsers = myIgnoredUsersResponse.data.me.ignoredUsers;
expect(myIgnoredUsers.length).to.equal(0);
});
@@ -80,22 +89,27 @@ describe('graph.mutations.stopIgnoringUser', () => {
// We're going to ignore 2 users,
// then stopIgnoring 1 of them
// then assert myIgnoredUsers only lists the one remaining
const user = await UsersService.createLocalUser('usernameA@example.com', 'password', 'usernameA');
let currentUser = await UsersService.createLocalUser('usernameA@example.com', 'password', 'usernameA');
const usersToIgnore = await Promise.all([
UsersService.createLocalUser('usernameB@example.com', 'password', 'usernameB'),
UsersService.createLocalUser('usernameC@example.com', 'password', 'usernameC'),
]);
const context = new Context({user});
let context = new Context({user: currentUser});
// ignore two users
const ignoreUserResponses = await Promise.all(usersToIgnore.map(u => graphql(schema, ignoreUserMutation, {}, context, {id: u.id})));
ignoreUserResponses.forEach(response => {
const ignoreUserResponses = await Promise.all(usersToIgnore.map((u) => graphql(schema, ignoreUserMutation, {}, context, {id: u.id})));
ignoreUserResponses.forEach((response) => {
if (response.errors && response.errors.length) {
console.error(response.errors);
}
expect(response.errors).to.be.empty;
});
// Refresh the user from the database and create the new context for the
// request.
currentUser = await UsersService.findById(currentUser.id);
context = new Context({user: currentUser});
const stopIgnoringUserMutation = `
mutation stopIgnoringUser ($id: ID!) {
stopIgnoringUser(id:$id) {
@@ -113,13 +127,18 @@ describe('graph.mutations.stopIgnoringUser', () => {
}
expect(stopIgnoringUserResponse.errors).to.be.empty;
// Refresh the user from the database and create the new context for the
// request.
currentUser = await UsersService.findById(currentUser.id);
context = new Context({user: currentUser});
// now check my ignored users
const myIgnoredUsersResponse = await graphql(schema, getMyIgnoredUsersQuery, {}, context, {});
if (myIgnoredUsersResponse.errors && myIgnoredUsersResponse.errors.length) {
console.error(myIgnoredUsersResponse.errors);
}
expect(myIgnoredUsersResponse.errors).to.be.empty;
const myIgnoredUsers = myIgnoredUsersResponse.data.myIgnoredUsers;
const myIgnoredUsers = myIgnoredUsersResponse.data.me.ignoredUsers;
expect(myIgnoredUsers.length).to.equal(1);
expect(myIgnoredUsers[0].id).to.equal(usersToIgnore[1].id);
expect(myIgnoredUsers[0].username).to.equal(usersToIgnore[1].username);
+1 -1
View File
@@ -15,7 +15,7 @@ describe('graph.mutations.removeTag', () => {
let asset, comment;
beforeEach(async () => {
await SettingsService.init();
asset = new AssetModel({url: 'http://new.test.com/'});
await asset.save();
+57 -52
View File
@@ -9,85 +9,90 @@ const Asset = require('../../../../models/asset');
const CommentsService = require('../../../../services/comments');
describe('graph.queries.asset', () => {
let asset, users;
beforeEach(async () => {
await SettingsService.init();
asset = await Asset.create({id: '1', url: 'https://example.com'});
users = await UsersService.createLocalUsers([
{
email: 'usernameA@example.com',
password: 'password',
username: 'usernameA'
},
{
email: 'usernameB@example.com',
password: 'password',
username: 'usernameB'
},
{
email: 'usernameC@example.com',
password: 'password',
username: 'usernameC'
}
]);
});
it('can get comments edge', async () => {
const assetId = 'fakeAssetId';
const assetUrl = 'https://bengo.is';
await Asset.create({id: assetId, url: assetUrl});
const user = await UsersService.createLocalUser('usernameA@example.com', 'password', 'usernameA');
const context = new Context({user});
const context = new Context({user: users[0]});
await CommentsService.publicCreate([1, 2].map(() => ({
author_id: user.id,
asset_id: assetId,
body: `hello there! ${ String(Math.random()).slice(2)}`,
author_id: users[0].id,
asset_id: asset.id,
body: `hello there! ${String(Math.random()).slice(2)}`,
})));
const assetCommentsQuery = `
query assetCommentsQuery($assetId: ID!, $assetUrl: String!) {
asset(id: $assetId, url: $assetUrl) {
query assetCommentsQuery($id: ID!) {
asset(id: $id) {
comments(limit: 10) {
id,
body,
id
body
}
}
}
`;
const assetCommentsResponse = await graphql(schema, assetCommentsQuery, {}, context, {assetId, assetUrl});
const comments = assetCommentsResponse.data.asset.comments;
const res = await graphql(schema, assetCommentsQuery, {}, context, {id: asset.id});
expect(res.erros).is.empty;
const comments = res.data.asset.comments;
expect(comments.length).to.equal(2);
});
it('can query comments edge to exclude comments ignored by user', async () => {
const assetId = 'fakeAssetId1';
const assetUrl = 'https://bengo.is/1';
await Asset.create({id: assetId, url: assetUrl});
const context = new Context({user: users[0]});
const userA = await UsersService.createLocalUser('usernameA@example.com', 'password', 'usernameA');
const userB = await UsersService.createLocalUser('usernameB@example.com', 'password', 'usernameB');
const userC = await UsersService.createLocalUser('usernameC@example.com', 'password', 'usernameC');
const context = new Context({user: userA});
// create 2 comments each for userB, userC
await Promise.all([userB, userC].map(user => CommentsService.publicCreate([1, 2].map(() => ({
await Promise.all(users.slice(1, 3).map((user) => CommentsService.publicCreate({
author_id: user.id,
asset_id: assetId,
body: `hello there! ${ String(Math.random()).slice(2)}`,
})))));
asset_id: asset.id,
body: `hello there! ${String(Math.random()).slice(2)}`,
})));
// Add the second user to the list of ignored users.
context.user.ignoresUsers.push(users[1].id);
// ignore userB
const ignoreUserMutation = `
mutation ignoreUser ($id: ID!) {
ignoreUser(id:$id) {
errors {
translation_key
}
}
}
`;
const ignoreUserResponse = await graphql(schema, ignoreUserMutation, {}, context, {id: userB.id});
if (ignoreUserResponse.errors && ignoreUserResponse.errors.length) {
console.error(ignoreUserResponse.errors);
}
expect(ignoreUserResponse.errors).to.be.empty;
const assetCommentsWithoutIgnoredQuery = `
query assetCommentsQuery($assetId: ID!, $assetUrl: String!, $excludeIgnored: Boolean!) {
asset(id: $assetId, url: $assetUrl) {
const query = `
query assetCommentsQuery($id: ID!, $url: String!, $excludeIgnored: Boolean!) {
asset(id: $id, url: $url) {
comments(limit: 10, excludeIgnored: $excludeIgnored) {
id,
body,
id
body
}
}
}
`;
const assetCommentsResponse = await graphql(schema, assetCommentsWithoutIgnoredQuery, {}, context, {assetId, assetUrl, excludeIgnored: true});
const comments = assetCommentsResponse.data.asset.comments;
expect(comments.length).to.equal(2);
{
const res = await graphql(schema, query, {}, context, {
id: asset.id,
url: asset.url,
excludeIgnored: true
});
if (res.errors && res.errors.length) {
console.error(res.errors);
}
expect(res.errors).is.empty;
const comments = res.data.asset.comments;
expect(comments.length).to.equal(1);
}
});
});
+2 -2
View File
@@ -204,7 +204,7 @@ describe('services.CommentsService', () => {
it('should return all comments if admin', () => {
return CommentsService
.findByUserId('456', true)
.then(comments => {
.then((comments) => {
expect(comments).to.have.length(4);
});
});
@@ -212,7 +212,7 @@ describe('services.CommentsService', () => {
it('should not return premod and rejected comments if not admin', () => {
return CommentsService
.findByUserId('456')
.then(comments => {
.then((comments) => {
expect(comments).to.have.length(1);
});
});
+3 -3
View File
@@ -7,13 +7,13 @@ describe('services.SettingsService', () => {
describe('#retrieve()', () => {
it('should have a moderation field defined', () => {
return SettingsService.retrieve().then(settings => {
return SettingsService.retrieve().then((settings) => {
expect(settings).to.have.property('moderation').and.to.equal('PRE');
});
});
it('should have two infoBox fields defined', () => {
return SettingsService.retrieve().then(settings => {
return SettingsService.retrieve().then((settings) => {
expect(settings).to.have.property('infoBoxEnable').and.to.equal(false);
expect(settings).to.have.property('infoBoxContent').and.to.equal('');
});
@@ -23,7 +23,7 @@ describe('services.SettingsService', () => {
describe('#update()', () => {
it('should update the settings with a passed object', () => {
const mockSettings = {moderation: 'POST', infoBoxEnable: true, infoBoxContent: 'yeah'};
return SettingsService.update(mockSettings).then(updatedSettings => {
return SettingsService.update(mockSettings).then((updatedSettings) => {
expect(updatedSettings).to.be.an('object');
expect(updatedSettings).to.have.property('moderation').and.to.equal('POST');
expect(updatedSettings).to.have.property('infoBoxEnable', true);
+2 -2
View File
@@ -173,12 +173,12 @@ describe('services.UsersService', () => {
it('should add user id to ignoredUsers set', async () => {
const user = mockUsers[0];
const usersToIgnore = [mockUsers[1], mockUsers[2]];
await UsersService.ignoreUsers(user.id, usersToIgnore.map(u => u.id));
await UsersService.ignoreUsers(user.id, usersToIgnore.map((u) => u.id));
const userAfterIgnoring = await UsersService.findById(user.id);
expect(userAfterIgnoring.ignoresUsers.length).to.equal(2);
// ignore same user another time, make sure it's not added to the list.
await UsersService.ignoreUsers(user.id, usersToIgnore.slice(0, 1).map(u => u.id));
await UsersService.ignoreUsers(user.id, usersToIgnore.slice(0, 1).map((u) => u.id));
const userAfterIgnoring2 = await UsersService.findById(user.id);
expect(userAfterIgnoring2.ignoresUsers.length).to.equal(2);
});