From 4c09268f49f1911bae816f607cd35dc29c166779 Mon Sep 17 00:00:00 2001 From: Matt Rider Date: Sun, 5 May 2019 13:57:12 -0300 Subject: [PATCH] Update tests after backend validations - Now a comment cannot be created without a post to associate it with --- backend/src/resolvers/moderation.spec.js | 48 ++++++++++++++---------- backend/src/resolvers/reports.spec.js | 11 +++++- 2 files changed, 38 insertions(+), 21 deletions(-) diff --git a/backend/src/resolvers/moderation.spec.js b/backend/src/resolvers/moderation.spec.js index f8aa6e10b..28f4dc322 100644 --- a/backend/src/resolvers/moderation.spec.js +++ b/backend/src/resolvers/moderation.spec.js @@ -16,6 +16,9 @@ const setupAuthenticateClient = (params) => { let createResource let authenticateClient +let createPostVariables +let createCommentVariables + beforeEach(() => { createResource = () => {} authenticateClient = () => { @@ -103,18 +106,21 @@ describe('disable', () => { variables = { id: 'c47' } - + createPostVariables = { + id: 'p3', + title: 'post to comment on', + content: 'please comment on me' + } + createCommentVariables = { + id: 'c47', + postId: 'p3', + content: 'this comment was created for this post' + } createResource = async () => { await factory.create('User', { id: 'u45', email: 'commenter@example.org', password: '1234' }) - await factory.authenticateAs({ email: 'commenter@example.org', password: '1234' }) - await Promise.all([ - factory.create('Post', { id: 'p3' }), - factory.create('Comment', { id: 'c47', postId: 'p3', content: 'this comment was created for this post' }) - ]) - - await Promise.all([ - factory.relate('Comment', 'Author', { from: 'u45', to: 'c47' }) - ]) + const asAuthenticatedUser = await factory.authenticateAs({ email: 'commenter@example.org', password: '1234' }) + await asAuthenticatedUser.create('Post', createPostVariables) + await asAuthenticatedUser.create('Comment', createCommentVariables) } }) @@ -277,17 +283,21 @@ describe('enable', () => { variables = { id: 'c456' } - + createPostVariables = { + id: 'p9', + title: 'post to comment on', + content: 'please comment on me' + } + createCommentVariables = { + id: 'c456', + postId: 'p9', + content: 'this comment was created for this post' + } createResource = async () => { await factory.create('User', { id: 'u123', email: 'author@example.org', password: '1234' }) - await factory.authenticateAs({ email: 'author@example.org', password: '1234' }) - await Promise.all([ - factory.create('Post', { id: 'p9' }), - factory.create('Comment', { id: 'c456' }) - ]) - await Promise.all([ - factory.relate('Comment', 'Author', { from: 'u123', to: 'c456' }) - ]) + const asAuthenticatedUser = await factory.authenticateAs({ email: 'author@example.org', password: '1234' }) + await asAuthenticatedUser.create('Post', createPostVariables) + await asAuthenticatedUser.create('Comment', createCommentVariables) const disableMutation = ` mutation { diff --git a/backend/src/resolvers/reports.spec.js b/backend/src/resolvers/reports.spec.js index ae8894572..9bd1fe753 100644 --- a/backend/src/resolvers/reports.spec.js +++ b/backend/src/resolvers/reports.spec.js @@ -9,6 +9,7 @@ describe('report', () => { let headers let returnedObject let variables + let createPostVariables beforeEach(async () => { returnedObject = '{ description }' @@ -128,8 +129,14 @@ describe('report', () => { describe('reported resource is a comment', () => { beforeEach(async () => { - await factory.authenticateAs({ email: 'test@example.org', password: '1234' }) - await factory.create('Comment', { id: 'c34', content: 'Robert getting tired.' }) + createPostVariables = { + id: 'p1', + title: 'post to comment on', + content: 'please comment on me' + } + const asAuthenticatedUser = await factory.authenticateAs({ email: 'test@example.org', password: '1234' }) + await asAuthenticatedUser.create('Post', createPostVariables) + await asAuthenticatedUser.create('Comment', { postId: 'p1', id: 'c34', content: 'Robert getting tired.' }) variables = { id: 'c34' } })