Files
speckle-server/packages/server/modules/core/tests/init.spec.js
T
2024-10-28 11:35:20 +02:00

56 lines
1.6 KiB
JavaScript

/* istanbul ignore file */
const expect = require('chai').expect
const { init } = require('@/app')
const { knex } = require('@/db/knex')
const { beforeEachContext } = require('@/test/hooks')
// NOTE:
// These tests check that the initialization routine of the whole server
// correctly registers some scopes and roles. At the time of writing, there are
// 11 scopes and 5 roles. These might increase in the future with additional
// modules being added.
describe('Initialization Logic @init-logic', () => {
describe('First init', () => {
before(async () => {
await beforeEachContext()
})
it('should have a lotta scopes', async () => {
const res = await knex('scopes').select()
expect(res.length).to.be.greaterThan(10)
})
it('should have some roles', async () => {
const res = await knex('user_roles').select()
expect(res.length).to.be.greaterThan(4)
})
it('should have some apps', async () => {
const res = await knex('server_apps').select()
expect(res.length).to.be.greaterThan(2)
})
})
describe('Second init', () => {
before(async () => {
await init()
})
it('should have a lotta scopes second time round too!', async () => {
const res = await knex('scopes').select()
expect(res.length).to.be.greaterThan(10)
})
it('should have some roles second time round!', async () => {
const res = await knex('user_roles').select()
expect(res.length).to.be.greaterThan(4)
})
it('should have some apps second time round', async () => {
const res = await knex('server_apps').select()
expect(res.length).to.be.greaterThan(2)
})
})
})