Fix tests

This commit is contained in:
roschaefer 2019-08-13 11:50:33 +02:00
parent bedbb21def
commit 5103bdbc2a
3 changed files with 48 additions and 26 deletions

View File

@ -1,22 +1,29 @@
import { GraphQLClient } from 'graphql-request'
import Factory from '../seed/factories'
import { host } from '../jest/helpers'
import { gql } from '../jest/helpers'
import { neode as getNeode, getDriver } from '../bootstrap/neo4j'
import { createTestClient } from 'apollo-server-testing'
import createServer from '../server'
let client
let headers
let query
const factory = Factory()
const neode = getNeode()
const driver = getDriver()
const { server } = createServer({
context: () => {
return {
user: null,
neode,
driver,
}
},
})
const { query } = createTestClient(server)
beforeEach(async () => {
const userParams = { name: 'Author', email: 'author@example.org', password: '1234' }
await factory.create('User', userParams)
await factory.authenticateAs(userParams)
await factory.create('Post', { title: 'first' })
await factory.create('Post', { title: 'second' })
await factory.create('Post', { title: 'third' })
await factory.create('Post', { title: 'last' })
headers = {}
client = new GraphQLClient(host, { headers })
await neode.create('Post', { title: 'first' })
await neode.create('Post', { title: 'second' })
await neode.create('Post', { title: 'third' })
await neode.create('Post', { title: 'last' })
})
afterEach(async () => {
@ -25,10 +32,6 @@ afterEach(async () => {
describe('Query', () => {
describe('Post', () => {
beforeEach(() => {
query = '{ Post { title } }'
})
describe('orderBy', () => {
it('createdAt descending is default', async () => {
const posts = [
@ -37,15 +40,21 @@ describe('Query', () => {
{ title: 'second' },
{ title: 'first' },
]
const expected = { Post: posts }
await expect(client.request(query)).resolves.toEqual(expected)
const expected = expect.objectContaining({ data: { Post: posts } })
await expect(
query({
query: gql`
{
Post {
title
}
}
`,
}),
).resolves.toEqual(expected)
})
describe('(orderBy: createdAt_asc)', () => {
beforeEach(() => {
query = '{ Post(orderBy: createdAt_asc) { title } }'
})
it('orders by createdAt ascending', async () => {
const posts = [
{ title: 'first' },
@ -53,8 +62,18 @@ describe('Query', () => {
{ title: 'third' },
{ title: 'last' },
]
const expected = { Post: posts }
await expect(client.request(query)).resolves.toEqual(expected)
const expected = expect.objectContaining({ data: { Post: posts } })
await expect(
query({
query: gql`
{
Post(orderBy: createdAt_asc) {
title
}
}
`,
}),
).resolves.toEqual(expected)
})
})
})

View File

@ -5,6 +5,7 @@ import { getBlockedUsers, getBlockedByUsers } from './users.js'
import { mergeWith, isArray } from 'lodash'
const filterForBlockedUsers = async (params, context) => {
if (!context.user) return params
const [blockedUsers, blockedByUsers] = await Promise.all([
getBlockedUsers(context),
getBlockedByUsers(context),

View File

@ -460,6 +460,7 @@ describe('emotions', () => {
context: () => {
return {
user,
neode: instance,
driver,
}
},
@ -476,6 +477,7 @@ describe('emotions', () => {
context: () => {
return {
user,
neode: instance,
driver,
}
},