From e77bf314706f2bcab0cfdabc2c14ac9b601b1592 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=A4fer?= Date: Mon, 8 Jul 2019 16:44:07 +0200 Subject: [PATCH] User role must be set --- backend/src/models/User.js | 2 +- backend/src/models/spec/User.spec.js | 20 ++++++++++++++++++++ backend/src/schema/types/type/User.gql | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 backend/src/models/spec/User.spec.js diff --git a/backend/src/models/User.js b/backend/src/models/User.js index 9ad07cf11..060359682 100644 --- a/backend/src/models/User.js +++ b/backend/src/models/User.js @@ -11,7 +11,7 @@ module.exports = { coverImg: { type: 'string', allow: [null] }, deleted: { type: 'boolean', default: false }, disabled: { type: 'boolean', default: false }, - role: 'string', + role: { type: 'string', required: true, default: 'user' }, publicKey: 'string', privateKey: 'string', wasInvited: 'boolean', diff --git a/backend/src/models/spec/User.spec.js b/backend/src/models/spec/User.spec.js new file mode 100644 index 000000000..d1aa79b7d --- /dev/null +++ b/backend/src/models/spec/User.spec.js @@ -0,0 +1,20 @@ +import Factory from '../../seed/factories' +import { neode } from '../../bootstrap/neo4j' + +const factory = Factory() +const instance = neode() + +afterEach(async () => { + await factory.cleanDatabase() +}) + +describe('role', () => { + it('defaults to `user`', async () => { + const user = await instance.create('User', { name: 'John' }) + await expect(user.toJson()).resolves.toEqual( + expect.objectContaining({ + role: 'user', + }), + ) + }) +}) diff --git a/backend/src/schema/types/type/User.gql b/backend/src/schema/types/type/User.gql index 314f03521..b984f2d79 100644 --- a/backend/src/schema/types/type/User.gql +++ b/backend/src/schema/types/type/User.gql @@ -9,7 +9,7 @@ type User { deleted: Boolean disabled: Boolean disabledBy: User @relation(name: "DISABLED", direction: "IN") - role: UserGroup + role: UserGroup! publicKey: String invitedBy: User @relation(name: "INVITED", direction: "IN") invited: [User] @relation(name: "INVITED", direction: "OUT")