shared-code-private-messages

This commit is contained in:
Victor Piousbox
2016-04-09 16:56:03 +00:00
parent f4d2184f34
commit 1f4a0680ea
12 changed files with 235 additions and 24 deletions
@@ -0,0 +1,27 @@
import {
generateUser,
} from '../../../../helpers/api-integration/v3';
describe('DELETE user message', () => {
let user;
beforeEach(async () => {
user = await generateUser({ inbox: { messages: { first: 'message', second: 'message' } } });
expect(user.inbox.messages.first).to.eql('message');
expect(user.inbox.messages.second).to.eql('message');
});
it('one message', async () => {
let result = await user.del('/user/messages/first');
await user.sync();
expect(result).to.eql({ second: 'message' });
expect(user.inbox.messages).to.eql({ second: 'message' });
});
it('clear all', async () => {
let result = await user.del('/user/messages');
await user.sync();
expect(user.inbox.messages).to.eql({});
expect(result).to.eql({});
});
});
@@ -0,0 +1,34 @@
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
describe('block user', () => {
let user;
let blockedUser;
let blockedUser2;
beforeEach(async () => {
blockedUser = await generateUser();
blockedUser2 = await generateUser();
user = await generateUser({ inbox: { blocks: [blockedUser._id] } });
expect(user.inbox.blocks.length).to.eql(1);
expect(user.inbox.blocks).to.eql([blockedUser._id]);
});
it('validates uuid', async () => {
await expect(user.post('/user/block/1')).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
message: t('invalidUUID'),
});
});
it('successfully', async () => {
let response = await user.post(`/user/block/${blockedUser2._id}`);
await user.sync();
expect(response).to.eql([blockedUser._id, blockedUser2._id]);
expect(user.inbox.blocks.length).to.eql(2);
expect(user.inbox.blocks).to.include(blockedUser2._id);
});
});
+44
View File
@@ -0,0 +1,44 @@
import blockUser from '../../../common/script/ops/blockUser';
import {
generateUser,
} from '../../helpers/common.helper';
import i18n from '../../../common/script/i18n';
describe('shared.ops.blockUser', () => {
let user;
let blockedUser;
let blockedUser2;
beforeEach(() => {
blockedUser = generateUser();
blockedUser2 = generateUser();
user = generateUser();
expect(user.inbox.blocks).to.eql([]);
});
it('validates uuid', (done) => {
try {
blockUser(user, { params: { uuid: 1 } });
} catch (error) {
expect(error.message).to.eql(i18n.t('invalidUUID'));
done();
}
});
it('blocks user', () => {
let result = blockUser(user, { params: { uuid: blockedUser._id } });
expect(user.inbox.blocks).to.eql([blockedUser._id]);
expect(result).to.eql([blockedUser._id]);
result = blockUser(user, { params: { uuid: blockedUser2._id } });
expect(user.inbox.blocks).to.eql([blockedUser._id, blockedUser2._id]);
expect(result).to.eql([blockedUser._id, blockedUser2._id]);
});
it('blocks, then unblocks user', () => {
blockUser(user, { params: { uuid: blockedUser._id } });
expect(user.inbox.blocks).to.eql([blockedUser._id]);
let result = blockUser(user, { params: { uuid: blockedUser._id } });
expect(user.inbox.blocks).to.eql([]);
expect(result).to.eql([]);
});
});
+20
View File
@@ -0,0 +1,20 @@
import clearPMs from '../../../common/script/ops/clearPMs';
import {
generateUser,
} from '../../helpers/common.helper';
describe('shared.ops.clearPMs', () => {
let user;
beforeEach(() => {
user = generateUser();
user.inbox.messages = { first: 'message', second: 'message' };
});
it('clears messages', () => {
expect(user.inbox.messages).to.not.eql({});
let result = clearPMs(user);
expect(user.inbox.messages).to.eql({});
expect(result).to.eql({});
});
});
+20
View File
@@ -0,0 +1,20 @@
import deletePM from '../../../common/script/ops/deletePM';
import {
generateUser,
} from '../../helpers/common.helper';
describe('shared.ops.clearPMs', () => {
let user;
beforeEach(() => {
user = generateUser();
user.inbox.messages = { first: 'message', second: 'message' };
});
it('delete message', () => {
expect(user.inbox.messages).to.not.eql({ second: 'message' });
let response = deletePM(user, { params: { id: 'first' } });
expect(user.inbox.messages).to.eql({ second: 'message' });
expect(response).to.eql({ second: 'message' });
});
});