mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
fix some tests
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import {
|
import {
|
||||||
createAndPopulateGroup,
|
createAndPopulateGroup,
|
||||||
generateUser,
|
generateUser,
|
||||||
|
generateGroup,
|
||||||
requester,
|
requester,
|
||||||
} from '../../../../helpers/api-integration.helper';
|
} from '../../../../helpers/api-integration.helper';
|
||||||
|
|
||||||
@@ -8,8 +9,9 @@ describe('GET /groups/:groupId/chat', () => {
|
|||||||
let user, api;
|
let user, api;
|
||||||
|
|
||||||
before(() => {
|
before(() => {
|
||||||
return generateUser().then((generatedUser) => {
|
return generateUser({balance: 2}).then((generatedUser) => {
|
||||||
user = generatedUser;
|
user = generatedUser;
|
||||||
|
console.log(user._id, user.balance)
|
||||||
api = requester(user);
|
api = requester(user);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -18,14 +20,15 @@ describe('GET /groups/:groupId/chat', () => {
|
|||||||
let group;
|
let group;
|
||||||
|
|
||||||
before(() => {
|
before(() => {
|
||||||
return createAndPopulateGroup({groupDetails: {
|
return generateGroup(user, {
|
||||||
|
name: 'test group',
|
||||||
type: 'guild',
|
type: 'guild',
|
||||||
privacy: 'public',
|
privacy: 'public',
|
||||||
chat: [
|
chat: [
|
||||||
'Hello',
|
'Hello',
|
||||||
'Welcome to the Guild',
|
'Welcome to the Guild',
|
||||||
],
|
],
|
||||||
}})
|
})
|
||||||
.then((createdGroup) => {
|
.then((createdGroup) => {
|
||||||
group = createdGroup;
|
group = createdGroup;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ describe('POST /group', () => {
|
|||||||
|
|
||||||
context('Guilds', () => {
|
context('Guilds', () => {
|
||||||
it('returns an error when a user with insufficient funds attempts to create a guild', () => {
|
it('returns an error when a user with insufficient funds attempts to create a guild', () => {
|
||||||
let groupName = "Test Public Guild";
|
let groupName = 'Test Public Guild';
|
||||||
let groupType = "guild";
|
let groupType = 'guild';
|
||||||
|
|
||||||
return expect(
|
return expect(
|
||||||
api.post('/groups', {
|
api.post('/groups', {
|
||||||
@@ -34,14 +34,12 @@ describe('POST /group', () => {
|
|||||||
|
|
||||||
context('public guild', () => {
|
context('public guild', () => {
|
||||||
it('creates a group', () => {
|
it('creates a group', () => {
|
||||||
let groupName = "Test Public Guild";
|
let groupName = 'Test Public Guild';
|
||||||
let groupType = "guild";
|
let groupType = 'guild';
|
||||||
let tmpUser;
|
|
||||||
|
|
||||||
return generateUser({balance: 1}).then((generatedUser) => {
|
return generateUser({balance: 1}).then((generatedUser) => {
|
||||||
tmpUser = generatedUser;
|
let api2 = requester(generatedUser);
|
||||||
api = requester(tmpUser);
|
return api2.post('/groups', {
|
||||||
return api.post('/groups', {
|
|
||||||
name: groupName,
|
name: groupName,
|
||||||
type: groupType
|
type: groupType
|
||||||
});
|
});
|
||||||
@@ -50,24 +48,20 @@ describe('POST /group', () => {
|
|||||||
expect(result._id).to.exist;
|
expect(result._id).to.exist;
|
||||||
expect(result.name).to.equal(groupName);
|
expect(result.name).to.equal(groupName);
|
||||||
expect(result.type).to.equal(groupType);
|
expect(result.type).to.equal(groupType);
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
api = requester(user);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
context('private guild', () => {
|
context('private guild', () => {
|
||||||
it('creates a group', () => {
|
it('creates a group', () => {
|
||||||
let groupName = "Test Private Guild";
|
let groupName = 'Test Private Guild';
|
||||||
let groupType = "guild";
|
let groupType = 'guild';
|
||||||
let groupPrivacy = "private";
|
let groupPrivacy = 'private';
|
||||||
let tmpUser;
|
let tmpUser;
|
||||||
|
|
||||||
return generateUser({balance: 1}).then((generatedUser) => {
|
return generateUser({balance: 1}).then((generatedUser) => {
|
||||||
tmpUser = generatedUser;
|
let api2 = requester(generatedUser);
|
||||||
api = requester(tmpUser);
|
return api2.post('/groups', {
|
||||||
return api.post('/groups', {
|
|
||||||
name: groupName,
|
name: groupName,
|
||||||
type: groupType,
|
type: groupType,
|
||||||
privacy: groupPrivacy
|
privacy: groupPrivacy
|
||||||
@@ -78,9 +72,6 @@ describe('POST /group', () => {
|
|||||||
expect(result.name).to.equal(groupName);
|
expect(result.name).to.equal(groupName);
|
||||||
expect(result.type).to.equal(groupType);
|
expect(result.type).to.equal(groupType);
|
||||||
expect(result.privacy).to.equal(groupPrivacy);
|
expect(result.privacy).to.equal(groupPrivacy);
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
api = requester(tmpUser);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -103,15 +103,15 @@ export function generateUser (update = {}) {
|
|||||||
// Generates a new group. Requires a user object, which
|
// Generates a new group. Requires a user object, which
|
||||||
// will will become the groups leader. Takes an update
|
// will will become the groups leader. Takes an update
|
||||||
// argument which will update group
|
// argument which will update group
|
||||||
export function generateGroup (leader, update = {}) {
|
export function generateGroup (leader, details = {}, update = {}) {
|
||||||
let request = _requestMaker(leader, 'post');
|
let request = _requestMaker(leader, 'post');
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
request('/groups').then((group) => {
|
request('/groups', details).then((group) => {
|
||||||
_updateDocument('groups', group, update, () => {
|
_updateDocument('groups', group, update, () => {
|
||||||
resolve(group);
|
resolve(group);
|
||||||
}).catch(reject);
|
}).catch(reject);
|
||||||
});
|
}).catch(reject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
BadRequest,
|
BadRequest,
|
||||||
NotAuthorized,
|
NotAuthorized,
|
||||||
} from '../../libs/api-v3/errors';
|
} from '../../libs/api-v3/errors';
|
||||||
import firebase from '../../libs/api-v3/firebase';
|
import * as firebase from '../../libs/api-v3/firebase';
|
||||||
|
|
||||||
let api = {};
|
let api = {};
|
||||||
|
|
||||||
@@ -31,6 +31,7 @@ api.createGroup = {
|
|||||||
group.leader = user._id;
|
group.leader = user._id;
|
||||||
|
|
||||||
if (group.type === 'guild') {
|
if (group.type === 'guild') {
|
||||||
|
console.log(user._id, user.balance)
|
||||||
if (user.balance < 1) return next(new NotAuthorized(res.t('messageInsufficientGems')));
|
if (user.balance < 1) return next(new NotAuthorized(res.t('messageInsufficientGems')));
|
||||||
|
|
||||||
group.balance = 1;
|
group.balance = 1;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import shared from '../../../common';
|
|||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { model as Challenge} from './challenge';
|
import { model as Challenge} from './challenge';
|
||||||
import validator from 'validator';
|
import validator from 'validator';
|
||||||
import firebase from '../libs/api-v2/firebase';
|
import * as firebase from '../libs/api-v2/firebase';
|
||||||
import baseModel from '../libs/api-v3/baseModel';
|
import baseModel from '../libs/api-v3/baseModel';
|
||||||
import Q from 'q';
|
import Q from 'q';
|
||||||
|
|
||||||
|
|||||||
@@ -477,7 +477,7 @@ export let schema = new Schema({
|
|||||||
|
|
||||||
schema.plugin(baseModel, {
|
schema.plugin(baseModel, {
|
||||||
// TODO revisit a lot of things are missing
|
// TODO revisit a lot of things are missing
|
||||||
noSet: ['_id', 'apiToken', 'auth.blocked', 'auth.timestamps', 'lastCron', 'auth.local.hashed_password', 'auth.local.salt', 'tasksOrder', 'tags', 'stats', 'challenges', 'guilds', 'party._id', 'party.quest', 'invitations'],
|
noSet: ['_id', 'apiToken', 'auth.blocked', 'auth.timestamps', 'lastCron', 'auth.local.hashed_password', 'auth.local.salt', 'tasksOrder', 'tags', 'stats', 'challenges', 'guilds', 'party._id', 'party.quest', 'invitations', 'balance'],
|
||||||
private: ['auth.local.hashed_password', 'auth.local.salt'],
|
private: ['auth.local.hashed_password', 'auth.local.salt'],
|
||||||
toJSONTransform: function userToJSON (doc) {
|
toJSONTransform: function userToJSON (doc) {
|
||||||
// FIXME? Is this a reference to `doc.filters` or just disabled code? Remove?
|
// FIXME? Is this a reference to `doc.filters` or just disabled code? Remove?
|
||||||
|
|||||||
Reference in New Issue
Block a user