consolidatedScopes.spec.tsx 984 B

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