From 0a15d785a319b1aa6b5d8590e7bcaf4c3b98b348 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 16 Mar 2020 02:32:22 +0100 Subject: [PATCH] test that a post written by muted user is not included in the search results --- backend/src/schema/resolvers/searches.spec.js | 41 ++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/backend/src/schema/resolvers/searches.spec.js b/backend/src/schema/resolvers/searches.spec.js index 42ffd6f98..a04fbd802 100644 --- a/backend/src/schema/resolvers/searches.spec.js +++ b/backend/src/schema/resolvers/searches.spec.js @@ -44,6 +44,7 @@ const searchQuery = gql` } } ` +let user describe('resolvers', () => { describe('searches', () => { @@ -51,7 +52,7 @@ describe('resolvers', () => { describe('given one user', () => { beforeAll(async () => { - const user = await Factory.build('user', { + user = await Factory.build('user', { id: 'a-user', name: 'John Doe', slug: 'john-doe', @@ -407,6 +408,44 @@ und hinter tausend Stäben keine Welt.`, }) }) }) + + describe('adding a post, written by a user who is muted by the authenticated user', () => { + beforeAll(async () => { + const mutedUser = await Factory.build('user', { + id: 'muted-user', + name: 'Muted', + slug: 'muted', + }) + await user.relateTo(mutedUser, 'muted') + await Factory.build( + 'post', + { + id: 'muted-post', + title: 'Beleidigender Beitrag', + content: 'Dieser Beitrag stammt von einem bleidigendem Nutzer.', + }, + { authorId: 'muted-user' }, + ) + }) + + describe('query for text in a post written by a muted user', () => { + it('does not include the post of the muted user in the results', async () => { + variables = { query: 'beitrag' } + await expect(query({ query: searchQuery, variables })).resolves.toMatchObject({ + data: { + findResources: expect.not.arrayContaining([ + { + __typename: 'Post', + id: 'muted-post', + title: 'Beleidigender Beitrag', + content: 'Dieser Beitrag stammt von einem bleidigendem Nutzer.', + }, + ]), + }, + }) + }) + }) + }) }) }) })