Files
klz-cables.com/.pnpm-store/v10/files/98/25aeb8814ca306435e8f03159823d5df141c474c9c0020c8090b1a09bc63d1533c084275d65ede0329c681802e42f2984d06dbda06a0328fe6c1cd7860eee2
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

1 line
4.4 KiB
Plaintext

{"version":3,"sources":["../../src/utilities/getFieldPermissions.spec.ts"],"sourcesContent":["import type { SanitizedDocumentPermissions } from '../auth/types.js'\n\nimport { getFieldPermissions } from './getFieldPermissions.js'\nimport { describe, expect, it } from 'vitest'\n\ndescribe('getFieldPermissions with collection fallback', () => {\n const mockField = {\n name: 'testField',\n type: 'text' as const,\n }\n\n describe('fallback to collection permissions', () => {\n it('should enable read-only mode when field permissions are missing but collection has read access', () => {\n const fieldPermissions = {} // Empty/sanitized field permissions\n const collectionPermissions: SanitizedDocumentPermissions = {\n read: true,\n fields: {},\n }\n\n const result = getFieldPermissions({\n field: mockField,\n operation: 'update',\n parentName: '',\n permissions: fieldPermissions,\n collectionPermissions,\n })\n\n expect(result.read).toBe(true)\n expect(result.operation).toBe(false) // Should be read-only\n expect(result.permissions).toEqual({ read: true })\n })\n\n it('should respect existing field permissions when they exist', () => {\n const fieldPermissions = true // All permissions are true\n const collectionPermissions: SanitizedDocumentPermissions = {\n read: true,\n fields: {},\n }\n\n const result = getFieldPermissions({\n field: mockField,\n operation: 'update',\n parentName: '',\n permissions: fieldPermissions,\n })\n\n expect(result.read).toBe(true)\n expect(result.operation).toBe(true) // Should have operation permission\n expect(result.permissions).toBe(true)\n })\n\n it('should not provide access when neither field nor collection has read permission', () => {\n const fieldPermissions = {}\n const collectionPermissions: SanitizedDocumentPermissions = {\n // No read permission at collection level\n fields: {},\n }\n\n const result = getFieldPermissions({\n field: mockField,\n operation: 'update',\n parentName: '',\n permissions: fieldPermissions,\n collectionPermissions,\n })\n\n expect(result.read).toBe(false)\n expect(result.operation).toBe(false)\n })\n\n it('should work without collection permissions (backward compatibility)', () => {\n const fieldPermissions = true // All permissions\n\n const result = getFieldPermissions({\n field: mockField,\n operation: 'update',\n parentName: '',\n permissions: fieldPermissions,\n // No collectionPermissions provided\n })\n\n expect(result.read).toBe(true)\n expect(result.operation).toBe(true)\n expect(result.permissions).toBe(true)\n })\n })\n})\n"],"names":["getFieldPermissions","describe","expect","it","mockField","name","type","fieldPermissions","collectionPermissions","read","fields","result","field","operation","parentName","permissions","toBe","toEqual"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,2BAA0B;AAC9D,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAE7CF,SAAS,gDAAgD;IACvD,MAAMG,YAAY;QAChBC,MAAM;QACNC,MAAM;IACR;IAEAL,SAAS,sCAAsC;QAC7CE,GAAG,kGAAkG;YACnG,MAAMI,mBAAmB,CAAC,EAAE,oCAAoC;;YAChE,MAAMC,wBAAsD;gBAC1DC,MAAM;gBACNC,QAAQ,CAAC;YACX;YAEA,MAAMC,SAASX,oBAAoB;gBACjCY,OAAOR;gBACPS,WAAW;gBACXC,YAAY;gBACZC,aAAaR;gBACbC;YACF;YAEAN,OAAOS,OAAOF,IAAI,EAAEO,IAAI,CAAC;YACzBd,OAAOS,OAAOE,SAAS,EAAEG,IAAI,CAAC,QAAO,sBAAsB;YAC3Dd,OAAOS,OAAOI,WAAW,EAAEE,OAAO,CAAC;gBAAER,MAAM;YAAK;QAClD;QAEAN,GAAG,6DAA6D;YAC9D,MAAMI,mBAAmB,KAAK,2BAA2B;;YACzD,MAAMC,wBAAsD;gBAC1DC,MAAM;gBACNC,QAAQ,CAAC;YACX;YAEA,MAAMC,SAASX,oBAAoB;gBACjCY,OAAOR;gBACPS,WAAW;gBACXC,YAAY;gBACZC,aAAaR;YACf;YAEAL,OAAOS,OAAOF,IAAI,EAAEO,IAAI,CAAC;YACzBd,OAAOS,OAAOE,SAAS,EAAEG,IAAI,CAAC,OAAM,mCAAmC;YACvEd,OAAOS,OAAOI,WAAW,EAAEC,IAAI,CAAC;QAClC;QAEAb,GAAG,mFAAmF;YACpF,MAAMI,mBAAmB,CAAC;YAC1B,MAAMC,wBAAsD;gBAC1D,yCAAyC;gBACzCE,QAAQ,CAAC;YACX;YAEA,MAAMC,SAASX,oBAAoB;gBACjCY,OAAOR;gBACPS,WAAW;gBACXC,YAAY;gBACZC,aAAaR;gBACbC;YACF;YAEAN,OAAOS,OAAOF,IAAI,EAAEO,IAAI,CAAC;YACzBd,OAAOS,OAAOE,SAAS,EAAEG,IAAI,CAAC;QAChC;QAEAb,GAAG,uEAAuE;YACxE,MAAMI,mBAAmB,KAAK,kBAAkB;;YAEhD,MAAMI,SAASX,oBAAoB;gBACjCY,OAAOR;gBACPS,WAAW;gBACXC,YAAY;gBACZC,aAAaR;YAEf;YAEAL,OAAOS,OAAOF,IAAI,EAAEO,IAAI,CAAC;YACzBd,OAAOS,OAAOE,SAAS,EAAEG,IAAI,CAAC;YAC9Bd,OAAOS,OAAOI,WAAW,EAAEC,IAAI,CAAC;QAClC;IACF;AACF"}