Files
klz-cables.com/.pnpm-store/v10/files/66/3db3ad491a511b9f4f608dcc0145f6fb3c5f73d4ea0fed41de1879dc05c73b94ea28e379f500bc64aad6a0e147204c8b9e98c828bf5f51b26d6b411eb99724
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

78 lines
3.0 KiB
Plaintext

import { getFieldPermissions } from './getFieldPermissions.js';
import { describe, expect, it } from 'vitest';
describe('getFieldPermissions with collection fallback', ()=>{
const mockField = {
name: 'testField',
type: 'text'
};
describe('fallback to collection permissions', ()=>{
it('should enable read-only mode when field permissions are missing but collection has read access', ()=>{
const fieldPermissions = {} // Empty/sanitized field permissions
;
const collectionPermissions = {
read: true,
fields: {}
};
const result = getFieldPermissions({
field: mockField,
operation: 'update',
parentName: '',
permissions: fieldPermissions,
collectionPermissions
});
expect(result.read).toBe(true);
expect(result.operation).toBe(false); // Should be read-only
expect(result.permissions).toEqual({
read: true
});
});
it('should respect existing field permissions when they exist', ()=>{
const fieldPermissions = true // All permissions are true
;
const collectionPermissions = {
read: true,
fields: {}
};
const result = getFieldPermissions({
field: mockField,
operation: 'update',
parentName: '',
permissions: fieldPermissions
});
expect(result.read).toBe(true);
expect(result.operation).toBe(true); // Should have operation permission
expect(result.permissions).toBe(true);
});
it('should not provide access when neither field nor collection has read permission', ()=>{
const fieldPermissions = {};
const collectionPermissions = {
// No read permission at collection level
fields: {}
};
const result = getFieldPermissions({
field: mockField,
operation: 'update',
parentName: '',
permissions: fieldPermissions,
collectionPermissions
});
expect(result.read).toBe(false);
expect(result.operation).toBe(false);
});
it('should work without collection permissions (backward compatibility)', ()=>{
const fieldPermissions = true // All permissions
;
const result = getFieldPermissions({
field: mockField,
operation: 'update',
parentName: '',
permissions: fieldPermissions
});
expect(result.read).toBe(true);
expect(result.operation).toBe(true);
expect(result.permissions).toBe(true);
});
});
});
//# sourceMappingURL=getFieldPermissions.spec.js.map