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:
Matteo Pagliazzi
2018-05-25 12:03:39 +02:00
committed by GitHub
parent 9194e8226d
commit 6ef45a7fd2
33 changed files with 76 additions and 15 deletions

View File

@@ -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}`,

View File

@@ -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 () => {

View File

@@ -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', [

View File

@@ -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 () => {

View File

@@ -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 () => {

View File

@@ -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}`,

View File

@@ -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 () => {

View File

@@ -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 () => {

View File

@@ -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 () => {

View File

@@ -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 () => {

View File

@@ -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 () => {

View File

@@ -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', () => {

View File

@@ -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', () => {

View File

@@ -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 () => {