Merge branch 'api-v3-groups' into api-v3-challenges-tasks

This commit is contained in:
Matteo Pagliazzi
2016-01-14 18:25:59 +01:00
377 changed files with 14951 additions and 13066 deletions

View File

@@ -1,20 +1,18 @@
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration.helper';
} from '../../../../helpers/api-v3-integration.helper';
describe('POST /tasks/user', () => {
let user;
before(async () => {
return generateUser().then((generatedUser) => {
user = generatedUser;
});
user = await generateUser();
});
context('validates params', () => {
context('validates params', async () => {
it('returns an error if req.body.type is absent', async () => {
return expect(user.post('/tasks/user', {
await expect(user.post('/tasks/user', {
notType: 'habit',
})).to.eventually.be.rejected.and.eql({
code: 400,
@@ -24,7 +22,7 @@ describe('POST /tasks/user', () => {
});
it('returns an error if req.body.type is not valid', async () => {
return expect(user.post('/tasks/user', {
await expect(user.post('/tasks/user', {
type: 'habitF',
})).to.eventually.be.rejected.and.eql({
code: 400,
@@ -34,7 +32,7 @@ describe('POST /tasks/user', () => {
});
it('returns an error if one object inside an array is invalid', async () => {
return expect(user.post('/tasks/user', [
await expect(user.post('/tasks/user', [
{type: 'habitF'},
{type: 'habit'},
])).to.eventually.be.rejected.and.eql({
@@ -45,7 +43,7 @@ describe('POST /tasks/user', () => {
});
it('returns an error if req.body.text is absent', async () => {
return expect(user.post('/tasks/user', {
await expect(user.post('/tasks/user', {
type: 'habit',
})).to.eventually.be.rejected.and.eql({
code: 400,
@@ -56,38 +54,36 @@ describe('POST /tasks/user', () => {
it('does not update user.tasksOrder.{taskType} when the task is not saved because invalid', async () => {
let originalHabitsOrder = (await user.get('/user')).tasksOrder.habits;
return expect(user.post('/tasks/user', {
await expect(user.post('/tasks/user', {
type: 'habit',
})).to.eventually.be.rejected.and.eql({ // this block is necessary
code: 400,
error: 'BadRequest',
message: 'habit validation failed',
}).then(async () => {
let updatedHabitsOrder = (await user.get('/user')).tasksOrder.habits;
expect(updatedHabitsOrder).to.eql(originalHabitsOrder);
});
let updatedHabitsOrder = (await user.get('/user')).tasksOrder.habits;
expect(updatedHabitsOrder).to.eql(originalHabitsOrder);
});
it('does not update user.tasksOrder.{taskType} when a task inside an array is not saved because invalid', async () => {
let originalHabitsOrder = (await user.get('/user')).tasksOrder.habits;
return expect(user.post('/tasks/user', [
await expect(user.post('/tasks/user', [
{type: 'habit'}, // Missing text
{type: 'habit', text: 'valid'}, // Valid
])).to.eventually.be.rejected.and.eql({ // this block is necessary
code: 400,
error: 'BadRequest',
message: 'habit validation failed',
}).then(async () => {
let updatedHabitsOrder = (await user.get('/user')).tasksOrder.habits;
expect(updatedHabitsOrder).to.eql(originalHabitsOrder);
});
let updatedHabitsOrder = (await user.get('/user')).tasksOrder.habits;
expect(updatedHabitsOrder).to.eql(originalHabitsOrder);
});
it('does not save any task sent in an array when 1 is invalid', async () => {
let originalTasks = await user.get('/tasks/user');
return expect(user.post('/tasks/user', [
await expect(user.post('/tasks/user', [
{type: 'habit'}, // Missing text
{type: 'habit', text: 'valid'}, // Valid
])).to.eventually.be.rejected.and.eql({ // this block is necessary
@@ -99,6 +95,9 @@ describe('POST /tasks/user', () => {
expect(updatedTasks).to.eql(originalTasks);
});
let updatedTasks = await user.get('/tasks');
expect(updatedTasks).to.eql(originalTasks);
});
it('automatically sets "task.userId" to user\'s uuid', async () => {