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 {
|
||||
createAndPopulateGroup,
|
||||
generateUser,
|
||||
generateGroup,
|
||||
requester,
|
||||
} from '../../../../helpers/api-integration.helper';
|
||||
|
||||
@@ -8,8 +9,9 @@ describe('GET /groups/:groupId/chat', () => {
|
||||
let user, api;
|
||||
|
||||
before(() => {
|
||||
return generateUser().then((generatedUser) => {
|
||||
return generateUser({balance: 2}).then((generatedUser) => {
|
||||
user = generatedUser;
|
||||
console.log(user._id, user.balance)
|
||||
api = requester(user);
|
||||
});
|
||||
});
|
||||
@@ -18,14 +20,15 @@ describe('GET /groups/:groupId/chat', () => {
|
||||
let group;
|
||||
|
||||
before(() => {
|
||||
return createAndPopulateGroup({groupDetails: {
|
||||
return generateGroup(user, {
|
||||
name: 'test group',
|
||||
type: 'guild',
|
||||
privacy: 'public',
|
||||
chat: [
|
||||
'Hello',
|
||||
'Welcome to the Guild',
|
||||
],
|
||||
}})
|
||||
})
|
||||
.then((createdGroup) => {
|
||||
group = createdGroup;
|
||||
});
|
||||
|
||||
@@ -16,8 +16,8 @@ describe('POST /group', () => {
|
||||
|
||||
context('Guilds', () => {
|
||||
it('returns an error when a user with insufficient funds attempts to create a guild', () => {
|
||||
let groupName = "Test Public Guild";
|
||||
let groupType = "guild";
|
||||
let groupName = 'Test Public Guild';
|
||||
let groupType = 'guild';
|
||||
|
||||
return expect(
|
||||
api.post('/groups', {
|
||||
@@ -34,14 +34,12 @@ describe('POST /group', () => {
|
||||
|
||||
context('public guild', () => {
|
||||
it('creates a group', () => {
|
||||
let groupName = "Test Public Guild";
|
||||
let groupType = "guild";
|
||||
let tmpUser;
|
||||
let groupName = 'Test Public Guild';
|
||||
let groupType = 'guild';
|
||||
|
||||
return generateUser({balance: 1}).then((generatedUser) => {
|
||||
tmpUser = generatedUser;
|
||||
api = requester(tmpUser);
|
||||
return api.post('/groups', {
|
||||
let api2 = requester(generatedUser);
|
||||
return api2.post('/groups', {
|
||||
name: groupName,
|
||||
type: groupType
|
||||
});
|
||||
@@ -50,24 +48,20 @@ describe('POST /group', () => {
|
||||
expect(result._id).to.exist;
|
||||
expect(result.name).to.equal(groupName);
|
||||
expect(result.type).to.equal(groupType);
|
||||
})
|
||||
.then(() => {
|
||||
api = requester(user);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
context('private guild', () => {
|
||||
it('creates a group', () => {
|
||||
let groupName = "Test Private Guild";
|
||||
let groupType = "guild";
|
||||
let groupPrivacy = "private";
|
||||
let groupName = 'Test Private Guild';
|
||||
let groupType = 'guild';
|
||||
let groupPrivacy = 'private';
|
||||
let tmpUser;
|
||||
|
||||
return generateUser({balance: 1}).then((generatedUser) => {
|
||||
tmpUser = generatedUser;
|
||||
api = requester(tmpUser);
|
||||
return api.post('/groups', {
|
||||
let api2 = requester(generatedUser);
|
||||
return api2.post('/groups', {
|
||||
name: groupName,
|
||||
type: groupType,
|
||||
privacy: groupPrivacy
|
||||
@@ -78,9 +72,6 @@ describe('POST /group', () => {
|
||||
expect(result.name).to.equal(groupName);
|
||||
expect(result.type).to.equal(groupType);
|
||||
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
|
||||
// will will become the groups leader. Takes an update
|
||||
// argument which will update group
|
||||
export function generateGroup (leader, update = {}) {
|
||||
export function generateGroup (leader, details = {}, update = {}) {
|
||||
let request = _requestMaker(leader, 'post');
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
request('/groups').then((group) => {
|
||||
request('/groups', details).then((group) => {
|
||||
_updateDocument('groups', group, update, () => {
|
||||
resolve(group);
|
||||
}).catch(reject);
|
||||
});
|
||||
}).catch(reject);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
BadRequest,
|
||||
NotAuthorized,
|
||||
} from '../../libs/api-v3/errors';
|
||||
import firebase from '../../libs/api-v3/firebase';
|
||||
import * as firebase from '../../libs/api-v3/firebase';
|
||||
|
||||
let api = {};
|
||||
|
||||
@@ -31,6 +31,7 @@ api.createGroup = {
|
||||
group.leader = user._id;
|
||||
|
||||
if (group.type === 'guild') {
|
||||
console.log(user._id, user.balance)
|
||||
if (user.balance < 1) return next(new NotAuthorized(res.t('messageInsufficientGems')));
|
||||
|
||||
group.balance = 1;
|
||||
|
||||
@@ -4,7 +4,7 @@ import shared from '../../../common';
|
||||
import _ from 'lodash';
|
||||
import { model as Challenge} from './challenge';
|
||||
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 Q from 'q';
|
||||
|
||||
|
||||
@@ -477,7 +477,7 @@ export let schema = new Schema({
|
||||
|
||||
schema.plugin(baseModel, {
|
||||
// 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'],
|
||||
toJSONTransform: function userToJSON (doc) {
|
||||
// FIXME? Is this a reference to `doc.filters` or just disabled code? Remove?
|
||||
|
||||
Reference in New Issue
Block a user