@@ -24,10 +24,15 @@ const actions: Action[] = ['list', 'show']
2424const isRoutableResource = (
2525 resource : ( typeof resources ) [ number ]
2626) : resource is ResourceWithRoutes =>
27- 'list' in resource || 'show' in resource || 'edit' in resource || 'create' in resource
27+ 'list' in resource ||
28+ 'show' in resource ||
29+ 'edit' in resource ||
30+ 'create' in resource
2831
2932const routableResources = resources . filter ( isRoutableResource )
30- const routableResourceNames = routableResources . map ( ( resource ) => resource . name ) . sort ( )
33+ const routableResourceNames = routableResources
34+ . map ( ( resource ) => resource . name )
35+ . sort ( )
3136const expectedRegisteredRoutableResources = [
3237 'ocotillo.collections' ,
3338 'ocotillo.contact' ,
@@ -219,23 +224,13 @@ const specialResourceExpectations: Array<{
219224]
220225
221226describe ( 'accessControl helpers' , ( ) => {
222- it ( 'normalizes legacy aliases and expands role hierarchies' , ( ) => {
223- expect ( normalizeAccessControlGroups ( [ 'Viewer' ] ) ) . toEqual ( [ 'AMP.Viewer' ] )
224- expect ( normalizeAccessControlGroups ( [ 'Editor' ] ) ) . toEqual ( [
227+ it ( 'normalizes canonical roles and expands hierarchies' , ( ) => {
228+ expect ( normalizeAccessControlGroups ( [ 'AMP. Viewer' ] ) ) . toEqual ( [ 'AMP.Viewer' ] )
229+ expect ( normalizeAccessControlGroups ( [ 'AMP. Editor' ] ) ) . toEqual ( [
225230 'AMP.Viewer' ,
226231 'AMP.Editor' ,
227232 ] )
228- expect ( normalizeAccessControlGroups ( [ 'Admin' ] ) ) . toEqual ( [
229- 'AMP.Viewer' ,
230- 'AMP.Editor' ,
231- 'AMP.Admin' ,
232- ] )
233- expect ( normalizeAccessControlGroups ( [ 'AMPViewer' ] ) ) . toEqual ( [ 'AMP.Viewer' ] )
234- expect ( normalizeAccessControlGroups ( [ 'AMPEditor' ] ) ) . toEqual ( [
235- 'AMP.Viewer' ,
236- 'AMP.Editor' ,
237- ] )
238- expect ( normalizeAccessControlGroups ( [ 'OcotilloAdmin' ] ) ) . toEqual ( [
233+ expect ( normalizeAccessControlGroups ( [ 'AMP.Admin' ] ) ) . toEqual ( [
239234 'AMP.Viewer' ,
240235 'AMP.Editor' ,
241236 'AMP.Admin' ,
@@ -246,12 +241,8 @@ describe('accessControl helpers', () => {
246241 'Geothermal.Admin' ,
247242 ] )
248243 expect (
249- normalizeAccessControlGroups ( [ 'Viewer' , 'Geothermal.Editor' ] )
250- ) . toEqual ( [
251- 'AMP.Viewer' ,
252- 'Geothermal.Viewer' ,
253- 'Geothermal.Editor' ,
254- ] )
244+ normalizeAccessControlGroups ( [ 'AMP.Viewer' , 'Geothermal.Editor' ] )
245+ ) . toEqual ( [ 'AMP.Viewer' , 'Geothermal.Viewer' , 'Geothermal.Editor' ] )
255246 } )
256247
257248 it ( 'derives capability flags from normalized roles' , ( ) => {
@@ -294,22 +285,22 @@ describe('accessControl helpers', () => {
294285 canViewLexicon : true ,
295286 } )
296287
297- expect ( getAccessCapabilities ( [ 'AMP.Admin' , 'Geothermal.Editor' ] ) ) . toMatchObject (
298- {
299- roles : [
300- 'AMP.Viewer' ,
301- 'AMP.Editor ' ,
302- 'AMP.Admin ' ,
303- 'Geothermal.Viewer ',
304- 'Geothermal.Editor ' ,
305- ] ,
306- primaryRole : 'Geothermal.Editor' ,
307- canManageAmp : true ,
308- canViewUnfinished : true ,
309- canEditGeothermal : true ,
310- canManageGeothermal : false ,
311- }
312- )
288+ expect (
289+ getAccessCapabilities ( [ 'AMP.Admin' , 'Geothermal.Editor' ] )
290+ ) . toMatchObject ( {
291+ roles : [
292+ 'AMP.Viewer ' ,
293+ 'AMP.Editor ' ,
294+ 'AMP.Admin ',
295+ 'Geothermal.Viewer ' ,
296+ 'Geothermal.Editor' ,
297+ ] ,
298+ primaryRole : 'Geothermal.Editor' ,
299+ canManageAmp : true ,
300+ canViewUnfinished : true ,
301+ canEditGeothermal : true ,
302+ canManageGeothermal : false ,
303+ } )
313304 } )
314305} )
315306
0 commit comments