mirror of https://github.com/grafana/grafana
parent
ea7998ca8e
commit
b56e2a61f9
@ -0,0 +1,78 @@ |
||||
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); |
||||
}); |
||||
}); |
||||
}); |
Loading…
Reference in new issue