| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- import client from './client';
- import * as setup from './setup';
- describe('/api/folders', () => {
- let state: any = {};
- beforeAll(async () => {
- state = await setup.ensureState({
- orgName: 'api-test-org',
- users: [
- { user: setup.admin, role: 'Admin' },
- { user: setup.editor, role: 'Editor' },
- { user: setup.viewer, role: 'Viewer' },
- ],
- admin: setup.admin,
- folders: [
- {
- title: 'Folder 1',
- uid: 'f-01',
- },
- {
- title: 'Folder 2',
- uid: 'f-02',
- },
- {
- title: 'Folder 3',
- uid: 'f-03',
- },
- ],
- });
- });
- describe('With admin user', () => {
- it('can delete folder', async () => {
- let rsp = await client.callAs(setup.admin).delete(`/api/folders/f-01`);
- expect(rsp.data.title).toBe('Folder 1');
- });
- it('can update folder', async () => {
- let rsp = await client.callAs(setup.admin).put(`/api/folders/f-02`, {
- uid: 'f-02',
- title: 'Folder 2 upd',
- overwrite: true,
- });
- expect(rsp.data.title).toBe('Folder 2 upd');
- });
- it('can update folder uid', async () => {
- let rsp = await client.callAs(setup.admin).put(`/api/folders/f-03`, {
- uid: 'f-03-upd',
- title: 'Folder 3 upd',
- overwrite: true,
- });
- expect(rsp.data.uid).toBe('f-03-upd');
- expect(rsp.data.title).toBe('Folder 3 upd');
- });
- });
- describe('With viewer user', () => {
- it('Cannot delete folder', async () => {
- let rsp = await setup.expectError(() => {
- return client.callAs(setup.viewer).delete(`/api/folders/f-02`);
- });
- expect(rsp.response.status).toBe(403);
- });
- it('Cannot update folder', async () => {
- let rsp = await setup.expectError(() => {
- return client.callAs(setup.viewer).put(`/api/folders/f-02`, {
- uid: 'f-02',
- title: 'Folder 2 upd',
- overwrite: true,
- });
- });
- expect(rsp.response.status).toBe(403);
- });
- });
- });
|