mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 14:17:22 +01:00
Fix 9248: challenge creator should not automatically join their own challenge (#10383)
* fix(challenges): creator should not join challenge automatically * change behavior on the client side as well * update tests and fix membercount * update tests * fix tests
This commit is contained in:
@@ -92,6 +92,7 @@ describe('DELETE /tasks/:id', () => {
|
||||
});
|
||||
let guild = await generateGroup(user);
|
||||
let challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
|
||||
await user.post('/user/webhook', {
|
||||
url: `http://localhost:${server.port}/webhooks/${uuid}`,
|
||||
|
||||
@@ -40,6 +40,7 @@ describe('GET /tasks/:taskId', () => {
|
||||
user = await generateUser();
|
||||
guild = await generateGroup(user);
|
||||
challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
});
|
||||
|
||||
it('returns error when incorrect id is passed', async () => {
|
||||
|
||||
@@ -9,6 +9,7 @@ describe('POST /tasks/clearCompletedTodos', () => {
|
||||
let user = await generateUser({balance: 1});
|
||||
let guild = await generateGroup(user);
|
||||
let challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
|
||||
let initialTodoCount = user.tasksOrder.todos.length;
|
||||
await user.post('/tasks/user', [
|
||||
|
||||
@@ -37,6 +37,7 @@ describe('POST /tasks/unlink-all/:challengeId', () => {
|
||||
user = await generateUser();
|
||||
guild = await generateGroup(user);
|
||||
challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
});
|
||||
|
||||
it('fails if no keep query', async () => {
|
||||
|
||||
@@ -38,6 +38,7 @@ describe('POST /tasks/unlink-one/:taskId', () => {
|
||||
user = await generateUser();
|
||||
guild = await generateGroup(user);
|
||||
challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
});
|
||||
|
||||
it('fails if no keep query', async () => {
|
||||
|
||||
@@ -65,6 +65,7 @@ describe('PUT /tasks/:id', () => {
|
||||
fields for challenge tasks owned by a user`, async () => {
|
||||
let guild = await generateGroup(user);
|
||||
let challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
|
||||
let challengeTask = await user.post(`/tasks/challenge/${challenge._id}`, {
|
||||
type: 'daily',
|
||||
@@ -198,6 +199,7 @@ describe('PUT /tasks/:id', () => {
|
||||
});
|
||||
let guild = await generateGroup(user);
|
||||
let challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
|
||||
await user.post('/user/webhook', {
|
||||
url: `http://localhost:${server.port}/webhooks/${uuid}`,
|
||||
|
||||
@@ -15,6 +15,7 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
|
||||
user = await generateUser();
|
||||
guild = await generateGroup(user);
|
||||
challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
});
|
||||
|
||||
it('fails on task not found', async () => {
|
||||
|
||||
@@ -17,6 +17,7 @@ describe('DELETE /tasks/:id', () => {
|
||||
user = await generateUser();
|
||||
guild = await generateGroup(user);
|
||||
challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -42,6 +42,7 @@ describe('GET /tasks/challenge/:challengeId', () => {
|
||||
user = await generateUser();
|
||||
guild = await generateGroup(user);
|
||||
challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
});
|
||||
|
||||
it('returns error when challenge is not found', async () => {
|
||||
|
||||
@@ -15,6 +15,7 @@ describe('POST /tasks/:taskId/checklist/', () => {
|
||||
user = await generateUser();
|
||||
guild = await generateGroup(user);
|
||||
challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
});
|
||||
|
||||
it('fails on task not found', async () => {
|
||||
|
||||
@@ -20,6 +20,7 @@ describe('POST /tasks/challenge/:challengeId', () => {
|
||||
user = await generateUser({balance: 1});
|
||||
guild = await generateGroup(user);
|
||||
challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
});
|
||||
|
||||
it('returns error when challenge is not found', async () => {
|
||||
|
||||
@@ -15,6 +15,7 @@ describe('POST /tasks/:id/score/:direction', () => {
|
||||
user = await generateUser();
|
||||
guild = await generateGroup(user);
|
||||
challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
});
|
||||
|
||||
context('habits', () => {
|
||||
|
||||
@@ -15,6 +15,7 @@ describe('PUT /tasks/:id', () => {
|
||||
user = await generateUser();
|
||||
guild = await generateGroup(user);
|
||||
challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
});
|
||||
|
||||
context('errors', () => {
|
||||
|
||||
@@ -15,6 +15,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
|
||||
user = await generateUser();
|
||||
guild = await generateGroup(user);
|
||||
challenge = await generateChallenge(user, guild);
|
||||
await user.post(`/challenges/${challenge._id}/join`);
|
||||
});
|
||||
|
||||
it('fails on task not found', async () => {
|
||||
|
||||
Reference in New Issue
Block a user