ToolJet/server/test/controllers/organizations.e2e-spec.ts

49 lines
1.4 KiB
TypeScript
Raw Normal View History

2021-07-20 09:10:11 +00:00
import * as request from 'supertest';
import { INestApplication } from '@nestjs/common';
import { authHeaderForUser, clearDB, createUser, createNestAppInstance } from '../test.helper';
2021-07-20 09:10:11 +00:00
describe('organizations controller', () => {
let app: INestApplication;
beforeEach(async () => {
await clearDB();
});
2021-07-20 09:10:11 +00:00
beforeAll(async () => {
app = await createNestAppInstance();
2021-07-20 09:10:11 +00:00
});
it('should allow only authenticated users to list org users', async () => {
await request(app.getHttpServer()).get('/api/organizations/users').expect(401);
2021-07-20 09:10:11 +00:00
});
it('should list organization users', async () => {
const userData = await createUser(app, { email: 'admin@tooljet.io', role: 'admin' });
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { organization, user, orgUser } = userData;
2021-07-20 09:10:11 +00:00
const response = await request(app.getHttpServer())
.get('/api/organizations/users')
.set('Authorization', authHeaderForUser(user));
2021-07-20 09:10:11 +00:00
expect(response.statusCode).toBe(200);
expect(response.body.users.length).toBe(1);
2021-07-22 18:12:06 +00:00
await orgUser.reload();
2021-07-20 09:10:11 +00:00
expect(response.body.users[0]).toStrictEqual({
email: user.email,
first_name: user.firstName,
id: orgUser.id,
last_name: user.lastName,
name: `${user.firstName} ${user.lastName}`,
role: orgUser.role,
status: orgUser.status,
});
2021-07-20 09:10:11 +00:00
});
afterAll(async () => {
await app.close();
});
});