consolidatedScopes.spec.jsx 765 B

123456789101112131415161718192021222324252627282930313233
  1. /*global global*/
  2. import ConsolidatedScopes from 'app/utils/consolidatedScopes';
  3. describe('ConsolidatedScopes', () => {
  4. let scopes;
  5. beforeEach(() => {
  6. scopes = new ConsolidatedScopes([
  7. 'event:read',
  8. 'event:admin',
  9. 'project:releases',
  10. 'org:read',
  11. ]);
  12. });
  13. it('exposes scopes, grouped for each resource', () => {
  14. expect(scopes.toResourcePermissions()).toEqual(
  15. expect.objectContaining({
  16. Event: 'admin',
  17. Release: 'admin',
  18. Organization: 'read',
  19. })
  20. );
  21. });
  22. it('exposes scopes, grouped by access level', () => {
  23. expect(scopes.toPermissions()).toEqual({
  24. admin: expect.arrayContaining(['Event', 'Release']),
  25. read: ['Organization'],
  26. write: [],
  27. });
  28. });
  29. });