fix tests for /members/transfer-gems

This commit is contained in:
Alys
2016-05-14 07:18:00 -04:00
parent 2e078f4776
commit 44e9d8b09e
2 changed files with 25 additions and 18 deletions

View File

@@ -9,14 +9,13 @@ describe('POST /members/transfer-gems', () => {
let receiver; let receiver;
let message = 'Test Private Message'; let message = 'Test Private Message';
let gemAmount = 20; let gemAmount = 20;
let giftType = 'gems';
beforeEach(async () => { beforeEach(async () => {
userToSendMessage = await generateUser({balance: 5}); userToSendMessage = await generateUser({balance: 5});
receiver = await generateUser(); receiver = await generateUser();
}); });
it('returns error when giftType is not provided', async () => { it('returns error when no parameters are provided', async () => {
await expect(userToSendMessage.post('/members/transfer-gems')) await expect(userToSendMessage.post('/members/transfer-gems'))
.to.eventually.be.rejected.and.eql({ .to.eventually.be.rejected.and.eql({
code: 400, code: 400,
@@ -26,10 +25,10 @@ describe('POST /members/transfer-gems', () => {
}); });
it('returns error when message is not provided', async () => { it('returns error when message is not provided', async () => {
await expect(userToSendMessage.post('/members/transfer-gems'), { await expect(userToSendMessage.post('/members/transfer-gems', {
giftType, gemAmount,
message, toUserId: receiver._id,
}).to.eventually.be.rejected.and.eql({ })).to.eventually.be.rejected.and.eql({
code: 400, code: 400,
error: 'BadRequest', error: 'BadRequest',
message: 'Invalid request parameters.', message: 'Invalid request parameters.',
@@ -38,8 +37,8 @@ describe('POST /members/transfer-gems', () => {
it('returns error when toUserId is not provided', async () => { it('returns error when toUserId is not provided', async () => {
await expect(userToSendMessage.post('/members/transfer-gems', { await expect(userToSendMessage.post('/members/transfer-gems', {
giftType,
message, message,
gemAmount,
})).to.eventually.be.rejected.and.eql({ })).to.eventually.be.rejected.and.eql({
code: 400, code: 400,
error: 'BadRequest', error: 'BadRequest',
@@ -49,8 +48,8 @@ describe('POST /members/transfer-gems', () => {
it('returns error when to user is not found', async () => { it('returns error when to user is not found', async () => {
await expect(userToSendMessage.post('/members/transfer-gems', { await expect(userToSendMessage.post('/members/transfer-gems', {
giftType,
message, message,
gemAmount,
toUserId: generateUUID(), toUserId: generateUUID(),
})).to.eventually.be.rejected.and.eql({ })).to.eventually.be.rejected.and.eql({
code: 404, code: 404,
@@ -61,8 +60,8 @@ describe('POST /members/transfer-gems', () => {
it('returns error when to user attempts to send gems to themselves', async () => { it('returns error when to user attempts to send gems to themselves', async () => {
await expect(userToSendMessage.post('/members/transfer-gems', { await expect(userToSendMessage.post('/members/transfer-gems', {
giftType,
message, message,
gemAmount,
toUserId: userToSendMessage._id, toUserId: userToSendMessage._id,
})).to.eventually.be.rejected.and.eql({ })).to.eventually.be.rejected.and.eql({
code: 401, code: 401,
@@ -71,21 +70,31 @@ describe('POST /members/transfer-gems', () => {
}); });
}); });
it('returns error when there is no amount', async () => { it('returns error when there is no gemAmount', async () => {
await expect(userToSendMessage.post('/members/transfer-gems', { await expect(userToSendMessage.post('/members/transfer-gems', {
giftType,
message, message,
toUserId: receiver._id, toUserId: receiver._id,
})).to.eventually.be.rejected.and.eql({ })).to.eventually.be.rejected.and.eql({
code: 401, code: 400,
error: 'NotAuthorized', error: 'BadRequest',
message: t('badAmountOfGemsToSend'), message: 'Invalid request parameters.',
});
});
it('returns error when gemAmount is not an integer', async () => {
await expect(userToSendMessage.post('/members/transfer-gems', {
message,
gemAmount: 1.5,
toUserId: receiver._id,
})).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
message: 'Invalid request parameters.',
}); });
}); });
it('returns error when gemAmount is negative', async () => { it('returns error when gemAmount is negative', async () => {
await expect(userToSendMessage.post('/members/transfer-gems', { await expect(userToSendMessage.post('/members/transfer-gems', {
giftType,
message, message,
gemAmount: -5, gemAmount: -5,
toUserId: receiver._id, toUserId: receiver._id,
@@ -98,7 +107,6 @@ describe('POST /members/transfer-gems', () => {
it('returns error when gemAmount is more than the sender\'s balance', async () => { it('returns error when gemAmount is more than the sender\'s balance', async () => {
await expect(userToSendMessage.post('/members/transfer-gems', { await expect(userToSendMessage.post('/members/transfer-gems', {
giftType,
message, message,
gemAmount: gemAmount + 4, gemAmount: gemAmount + 4,
toUserId: receiver._id, toUserId: receiver._id,
@@ -111,7 +119,6 @@ describe('POST /members/transfer-gems', () => {
it('sends a private message about gems to a user', async () => { it('sends a private message about gems to a user', async () => {
await userToSendMessage.post('/members/transfer-gems', { await userToSendMessage.post('/members/transfer-gems', {
giftType,
message, message,
gemAmount, gemAmount,
toUserId: receiver._id, toUserId: receiver._id,

View File

@@ -325,7 +325,7 @@ api.transferGems = {
let gemAmount = req.body.gemAmount; let gemAmount = req.body.gemAmount;
let amount = gemAmount / 4; let amount = gemAmount / 4;
if (!amount || amount <= 0 || sender.balance < amount) { if (amount <= 0 || sender.balance < amount) {
throw new NotAuthorized(res.t('badAmountOfGemsToSend')); throw new NotAuthorized(res.t('badAmountOfGemsToSend'));
} }