Check for parent document existance (#567)

This commit is contained in:
Jori Lallo 2018-02-04 23:43:43 -08:00 committed by GitHub
parent ff286b2eb5
commit b93ccf5fcc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 0 deletions

View File

@ -1,5 +1,14 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`#documents.create should create as a child 1`] = `
Object {
"error": "invalid_parent_document",
"message": "Invalid parentDocument",
"ok": false,
"status": 400,
}
`;
exports[`#documents.list should require authentication 1`] = `
Object {
"error": "authentication_required",

View File

@ -218,6 +218,8 @@ router.post('documents.create', auth(), async ctx => {
atlasId: ownerCollection.id,
},
});
if (!parentDocumentObj)
throw httpErrors.BadRequest('Invalid parentDocument');
}
const newDocument = await Document.create({

View File

@ -281,6 +281,23 @@ describe('#documents.create', async () => {
expect(body.data.collection.documents.length).toBe(2);
expect(body.data.collection.documents[1].children[0].id).toBe(body.data.id);
});
it('should create as a child', async () => {
const { user, collection } = await seed();
const res = await server.post('/api/documents.create', {
body: {
token: user.getJwtToken(),
collection: collection.id,
title: 'new document',
text: 'hello',
parentDocument: 'd7a4eb73-fac1-4028-af45-d7e34d54db8e',
},
});
const body = await res.json();
expect(res.status).toEqual(400);
expect(body).toMatchSnapshot();
});
});
describe('#documents.update', async () => {