mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
v3 adapt v2: port chat routes and group.update
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
import {
|
||||
generateGroup,
|
||||
createAndPopulateGroup,
|
||||
generateUser,
|
||||
translate as t,
|
||||
} from '../../../helpers/api-integration/v2';
|
||||
|
||||
xdescribe('POST /groups/:id', () => {
|
||||
describe('POST /groups/:id', () => {
|
||||
context('user is not the leader of the group', () => {
|
||||
let user, otherUser, groupUserDoesNotOwn;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import {
|
||||
translate as t,
|
||||
} from '../../../../helpers/api-integration/v2';
|
||||
|
||||
xdescribe('DELETE /groups/:id/chat', () => {
|
||||
describe('DELETE /groups/:id/chat', () => {
|
||||
let group, message, user;
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -2,7 +2,7 @@ import {
|
||||
createAndPopulateGroup,
|
||||
} from '../../../../helpers/api-integration/v2';
|
||||
|
||||
xdescribe('GET /groups/:id/chat', () => {
|
||||
describe('GET /groups/:id/chat', () => {
|
||||
context('group with multiple messages', () => {
|
||||
let group, member, user;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import {
|
||||
translate as t,
|
||||
} from '../../../../helpers/api-integration/v2';
|
||||
|
||||
xdescribe('POST /groups/:id/chat', () => {
|
||||
describe('POST /groups/:id/chat', () => {
|
||||
let group, user;
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
translate as t,
|
||||
} from '../../../../helpers/api-integration/v2';
|
||||
|
||||
xdescribe('POST /groups/:id/chat/:id/clearflags', () => {
|
||||
describe('POST /groups/:id/chat/:id/clearflags', () => {
|
||||
let guild;
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
translate as t,
|
||||
} from '../../../../helpers/api-integration/v2';
|
||||
|
||||
xdescribe('POST /groups/:id/chat/:id/flag', () => {
|
||||
describe('POST /groups/:id/chat/:id/flag', () => {
|
||||
context('another member\'s message', () => {
|
||||
let group, member, message, user;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
translate as t,
|
||||
} from '../../../../helpers/api-integration/v2';
|
||||
|
||||
xdescribe('POST /groups/:id/chat/:id/like', () => {
|
||||
describe('POST /groups/:id/chat/:id/like', () => {
|
||||
context('another member\'s message', () => {
|
||||
let group, member, message, user;
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import {
|
||||
times,
|
||||
map,
|
||||
} from 'lodash';
|
||||
import Q from 'q';
|
||||
import { v4 as generateUUID } from 'uuid';
|
||||
@@ -41,11 +42,29 @@ export async function generateGroup (leader, details = {}, update = {}) {
|
||||
details.privacy = details.privacy || 'private';
|
||||
details.name = details.name || 'test group';
|
||||
|
||||
let members;
|
||||
|
||||
if (details.members) {
|
||||
members = details.members;
|
||||
delete details.members;
|
||||
}
|
||||
|
||||
let group = await leader.post('/groups', details);
|
||||
let apiGroup = new ApiGroup(group);
|
||||
|
||||
await apiGroup.update(update);
|
||||
const groupMembershipTypes = {
|
||||
party: { 'party._id': group._id},
|
||||
guild: { guilds: [group._id] },
|
||||
};
|
||||
|
||||
await Q.all(
|
||||
map(members, (member) => {
|
||||
return member.update(groupMembershipTypes[group.type]);
|
||||
})
|
||||
);
|
||||
|
||||
await apiGroup.update(update);
|
||||
await apiGroup.sync();
|
||||
return apiGroup;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user