From 21be2c08ba841e2d836b19148a2e74e011e9bea6 Mon Sep 17 00:00:00 2001 From: mattwr18 Date: Thu, 28 Nov 2019 13:44:00 +0100 Subject: [PATCH] Update to return resource instead of to - more verbose makes it easier to understand --- backend/src/schema/resolvers/moderation.js | 2 +- .../src/schema/resolvers/moderation.spec.js | 52 +++++++++++-------- backend/src/schema/resolvers/reports.js | 2 +- backend/src/schema/resolvers/reports.spec.js | 22 ++++---- backend/src/schema/types/type/FILED.gql | 3 -- backend/src/schema/types/type/REVIEWED.gql | 2 +- backend/src/schema/types/type/Report.gql | 2 +- webapp/graphql/Moderation.js | 2 +- 8 files changed, 45 insertions(+), 42 deletions(-) diff --git a/backend/src/schema/resolvers/moderation.js b/backend/src/schema/resolvers/moderation.js index 730ff73c3..b60325cc4 100644 --- a/backend/src/schema/resolvers/moderation.js +++ b/backend/src/schema/resolvers/moderation.js @@ -2,7 +2,7 @@ const transformReturnType = record => { return { ...record.get('review').properties, report: record.get('report').properties, - to: { + resource: { __typename: record.get('type'), ...record.get('resource').properties, }, diff --git a/backend/src/schema/resolvers/moderation.spec.js b/backend/src/schema/resolvers/moderation.spec.js index 6dd2b41f7..5b4a5d75a 100644 --- a/backend/src/schema/resolvers/moderation.spec.js +++ b/backend/src/schema/resolvers/moderation.spec.js @@ -21,7 +21,7 @@ const reviewMutation = gql` review(resourceId: $resourceId, disable: $disable, closed: $closed) { createdAt updatedAt - to { + resource { __typename ... on User { id @@ -149,7 +149,7 @@ describe('moderate resources', () => { ).resolves.toMatchObject({ data: { review: { - to: { __typename: 'Post', id: 'should-i-be-disabled', disabled: false }, + resource: { __typename: 'Post', id: 'should-i-be-disabled', disabled: false }, report: { id: expect.any(String), closed: true }, }, }, @@ -231,7 +231,7 @@ describe('moderate resources', () => { await expect( mutate({ mutation: reviewMutation, variables: disableVariables }), ).resolves.toMatchObject({ - data: { review: { to: { __typename: 'Comment', id: 'comment-id' } } }, + data: { review: { resource: { __typename: 'Comment', id: 'comment-id' } } }, errors: undefined, }) }) @@ -242,7 +242,7 @@ describe('moderate resources', () => { ).resolves.toMatchObject({ data: { review: { - to: { __typename: 'Comment', id: 'comment-id' }, + resource: { __typename: 'Comment', id: 'comment-id' }, report: { id: expect.any(String), reviewedByModerator: { id: 'moderator-id' } }, }, }, @@ -253,7 +253,9 @@ describe('moderate resources', () => { await expect( mutate({ mutation: reviewMutation, variables: disableVariables }), ).resolves.toMatchObject({ - data: { review: { to: { __typename: 'Comment', id: 'comment-id', disabled: true } } }, + data: { + review: { resource: { __typename: 'Comment', id: 'comment-id', disabled: true } }, + }, }) }) @@ -267,7 +269,7 @@ describe('moderate resources', () => { ).resolves.toMatchObject({ data: { review: { - to: { __typename: 'Comment', id: 'comment-id' }, + resource: { __typename: 'Comment', id: 'comment-id' }, report: { id: expect.any(String), closed: true }, }, }, @@ -301,7 +303,7 @@ describe('moderate resources', () => { ).resolves.toMatchObject({ data: { review: { - to: { __typename: 'Post', id: 'post-id' }, + resource: { __typename: 'Post', id: 'post-id' }, }, }, }) @@ -313,7 +315,7 @@ describe('moderate resources', () => { ).resolves.toMatchObject({ data: { review: { - to: { __typename: 'Post', id: 'post-id' }, + resource: { __typename: 'Post', id: 'post-id' }, report: { id: expect.any(String), reviewedByModerator: { id: 'moderator-id' } }, }, }, @@ -324,7 +326,7 @@ describe('moderate resources', () => { await expect( mutate({ mutation: reviewMutation, variables: disableVariables }), ).resolves.toMatchObject({ - data: { review: { to: { __typename: 'Post', id: 'post-id', disabled: true } } }, + data: { review: { resource: { __typename: 'Post', id: 'post-id', disabled: true } } }, }) }) @@ -338,7 +340,7 @@ describe('moderate resources', () => { ).resolves.toMatchObject({ data: { review: { - to: { __typename: 'Post', id: 'post-id' }, + resource: { __typename: 'Post', id: 'post-id' }, report: { id: expect.any(String), closed: true }, }, }, @@ -370,7 +372,7 @@ describe('moderate resources', () => { await expect( mutate({ mutation: reviewMutation, variables: disableVariables }), ).resolves.toMatchObject({ - data: { review: { to: { __typename: 'User', id: 'user-id' } } }, + data: { review: { resource: { __typename: 'User', id: 'user-id' } } }, }) }) @@ -380,7 +382,7 @@ describe('moderate resources', () => { ).resolves.toMatchObject({ data: { review: { - to: { __typename: 'User', id: 'user-id' }, + resource: { __typename: 'User', id: 'user-id' }, report: { id: expect.any(String), reviewedByModerator: { id: 'moderator-id' } }, }, }, @@ -391,7 +393,7 @@ describe('moderate resources', () => { await expect( mutate({ mutation: reviewMutation, variables: disableVariables }), ).resolves.toMatchObject({ - data: { review: { to: { __typename: 'User', id: 'user-id', disabled: true } } }, + data: { review: { resource: { __typename: 'User', id: 'user-id', disabled: true } } }, }) }) @@ -405,7 +407,7 @@ describe('moderate resources', () => { ).resolves.toMatchObject({ data: { review: { - to: { __typename: 'User', id: 'user-id' }, + resource: { __typename: 'User', id: 'user-id' }, report: { id: expect.any(String), closed: true }, }, }, @@ -503,7 +505,7 @@ describe('moderate resources', () => { await expect( mutate({ mutation: reviewMutation, variables: enableVariables }), ).resolves.toMatchObject({ - data: { review: { to: { __typename: 'Comment', id: 'comment-id' } } }, + data: { review: { resource: { __typename: 'Comment', id: 'comment-id' } } }, }) }) @@ -513,7 +515,7 @@ describe('moderate resources', () => { ).resolves.toMatchObject({ data: { review: { - to: { __typename: 'Comment', id: 'comment-id' }, + resource: { __typename: 'Comment', id: 'comment-id' }, report: { id: expect.any(String), reviewedByModerator: { id: 'moderator-id' } }, }, }, @@ -525,7 +527,7 @@ describe('moderate resources', () => { mutate({ mutation: reviewMutation, variables: enableVariables }), ).resolves.toMatchObject({ data: { - review: { to: { __typename: 'Comment', id: 'comment-id', disabled: false } }, + review: { resource: { __typename: 'Comment', id: 'comment-id', disabled: false } }, }, }) }) @@ -563,7 +565,7 @@ describe('moderate resources', () => { await expect( mutate({ mutation: reviewMutation, variables: enableVariables }), ).resolves.toMatchObject({ - data: { review: { to: { __typename: 'Post', id: 'post-id' } } }, + data: { review: { resource: { __typename: 'Post', id: 'post-id' } } }, }) }) @@ -573,7 +575,7 @@ describe('moderate resources', () => { ).resolves.toMatchObject({ data: { review: { - to: { __typename: 'Post', id: 'post-id' }, + resource: { __typename: 'Post', id: 'post-id' }, report: { id: expect.any(String), reviewedByModerator: { id: 'moderator-id' } }, }, }, @@ -584,7 +586,9 @@ describe('moderate resources', () => { await expect( mutate({ mutation: reviewMutation, variables: enableVariables }), ).resolves.toMatchObject({ - data: { review: { to: { __typename: 'Post', id: 'post-id', disabled: false } } }, + data: { + review: { resource: { __typename: 'Post', id: 'post-id', disabled: false } }, + }, }) }) }) @@ -620,7 +624,7 @@ describe('moderate resources', () => { await expect( mutate({ mutation: reviewMutation, variables: enableVariables }), ).resolves.toMatchObject({ - data: { review: { to: { __typename: 'User', id: 'user-id' } } }, + data: { review: { resource: { __typename: 'User', id: 'user-id' } } }, }) }) @@ -630,7 +634,7 @@ describe('moderate resources', () => { ).resolves.toMatchObject({ data: { review: { - to: { __typename: 'User', id: 'user-id' }, + resource: { __typename: 'User', id: 'user-id' }, report: { id: expect.any(String), reviewedByModerator: { id: 'moderator-id' } }, }, }, @@ -641,7 +645,9 @@ describe('moderate resources', () => { await expect( mutate({ mutation: reviewMutation, variables: enableVariables }), ).resolves.toMatchObject({ - data: { review: { to: { __typename: 'User', id: 'user-id', disabled: false } } }, + data: { + review: { resource: { __typename: 'User', id: 'user-id', disabled: false } }, + }, }) }) }) diff --git a/backend/src/schema/resolvers/reports.js b/backend/src/schema/resolvers/reports.js index 9269c9751..06c0a151e 100644 --- a/backend/src/schema/resolvers/reports.js +++ b/backend/src/schema/resolvers/reports.js @@ -1,7 +1,7 @@ const transformReturnType = record => { return { ...record.get('report').properties, - to: { + resource: { __typename: record.get('type'), ...record.get('resource').properties, }, diff --git a/backend/src/schema/resolvers/reports.spec.js b/backend/src/schema/resolvers/reports.spec.js index e5552497d..648f63dce 100644 --- a/backend/src/schema/resolvers/reports.spec.js +++ b/backend/src/schema/resolvers/reports.spec.js @@ -23,7 +23,7 @@ describe('file a report on a resource', () => { updatedAt disable closed - to { + resource { __typename ... on User { name @@ -164,7 +164,7 @@ describe('file a report on a resource', () => { ).resolves.toMatchObject({ data: { fileReport: { - to: { + resource: { __typename: 'User', }, }, @@ -182,7 +182,7 @@ describe('file a report on a resource', () => { ).resolves.toMatchObject({ data: { fileReport: { - to: { + resource: { __typename: 'User', name: 'abusive-user', }, @@ -346,7 +346,7 @@ describe('file a report on a resource', () => { ).resolves.toMatchObject({ data: { fileReport: { - to: { + resource: { __typename: 'Post', }, }, @@ -367,7 +367,7 @@ describe('file a report on a resource', () => { ).resolves.toMatchObject({ data: { fileReport: { - to: { + resource: { __typename: 'Post', title: 'This is a post that is going to be reported', }, @@ -408,7 +408,7 @@ describe('file a report on a resource', () => { ).resolves.toMatchObject({ data: { fileReport: { - to: { + resource: { __typename: 'Comment', }, }, @@ -429,7 +429,7 @@ describe('file a report on a resource', () => { ).resolves.toMatchObject({ data: { fileReport: { - to: { + resource: { __typename: 'Comment', content: 'Post comment to be reported.', }, @@ -475,7 +475,7 @@ describe('file a report on a resource', () => { updatedAt disable closed - to { + resource { __typename ... on User { id @@ -610,7 +610,7 @@ describe('file a report on a resource', () => { updatedAt: expect.any(String), disable: false, closed: false, - to: { + resource: { __typename: 'User', id: 'abusive-user-1', }, @@ -631,7 +631,7 @@ describe('file a report on a resource', () => { updatedAt: expect.any(String), disable: false, closed: false, - to: { + resource: { __typename: 'Post', id: 'abusive-post-1', }, @@ -652,7 +652,7 @@ describe('file a report on a resource', () => { updatedAt: expect.any(String), disable: false, closed: false, - to: { + resource: { __typename: 'Comment', id: 'abusive-comment-1', }, diff --git a/backend/src/schema/types/type/FILED.gql b/backend/src/schema/types/type/FILED.gql index 752139e04..955af0bb8 100644 --- a/backend/src/schema/types/type/FILED.gql +++ b/backend/src/schema/types/type/FILED.gql @@ -17,9 +17,6 @@ enum ReasonCategory { criminal_behavior_violation_german_law } -# not yet supported -# union ReportResource = User | Post | Comment - enum ReportOrdering { createdAt_asc createdAt_desc diff --git a/backend/src/schema/types/type/REVIEWED.gql b/backend/src/schema/types/type/REVIEWED.gql index 5b4a392ae..d106e1f4c 100644 --- a/backend/src/schema/types/type/REVIEWED.gql +++ b/backend/src/schema/types/type/REVIEWED.gql @@ -7,7 +7,7 @@ type REVIEWED { # @cypher(statement: "MATCH (report:Report)<-[this:REVIEWED]-(:User) RETURN report") moderator: User type: String - to: ReviewedResource + resource: ReviewedResource } union ReviewedResource = User | Post | Comment diff --git a/backend/src/schema/types/type/Report.gql b/backend/src/schema/types/type/Report.gql index 6dee7f282..aa94415a4 100644 --- a/backend/src/schema/types/type/Report.gql +++ b/backend/src/schema/types/type/Report.gql @@ -6,7 +6,7 @@ type Report { disable: Boolean! closed: Boolean! reportsFiled: [FILED] - to: ReportedResource + resource: ReportedResource type: String reviewedByModerator: User } diff --git a/webapp/graphql/Moderation.js b/webapp/graphql/Moderation.js index d26dfbf8b..406f8d1fc 100644 --- a/webapp/graphql/Moderation.js +++ b/webapp/graphql/Moderation.js @@ -10,7 +10,7 @@ export const reportListQuery = () => { updatedAt disable closed - to { + resource { __typename ... on User { id