From 77d24b5a7158d64103a3d0623d1f883a534abc97 Mon Sep 17 00:00:00 2001 From: roschaefer Date: Mon, 23 Sep 2019 00:09:08 +0200 Subject: [PATCH] Add backend test for @mattwr18 This was already covered by `slugifyMiddleware.spec.js`. I do agree that this is a better place for it. Also we're not testing GraphQL requests here but the factories. As we're testing the existence of unique constraints, I think it won't matter if we use factories or actual GraphQL requests. --- backend/src/models/User.spec.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/backend/src/models/User.spec.js b/backend/src/models/User.spec.js index 5c8067413..7c4a26c55 100644 --- a/backend/src/models/User.spec.js +++ b/backend/src/models/User.spec.js @@ -29,6 +29,29 @@ describe('slug', () => { ) }) + it('must be unique', async done => { + await instance.create('User', { slug: 'Matt' }) + try { + await expect(instance.create('User', { slug: 'Matt' })).rejects.toThrow('already exists') + done() + } catch (error) { + throw new Error(` + ${error} + + Probably your database has no unique constraints! + + To see all constraints go to http://localhost:7474/browser/ and + paste the following: + \`\`\` + CALL db.constraints(); + \`\`\` + + Learn how to setup the database here: + https://docs.human-connection.org/human-connection/neo4j + `) + } + }) + describe('characters', () => { const createUser = attrs => { return instance.create('User', attrs).then(user => user.toJson())