- Comprehensive verification report with permission matrix - Implementation summary with code examples - All role permissions verified and working correctly - Security properties documented (least privilege, fallbacks) - API integration verified - Type safety confirmed - Update jest.config.js transformIgnorePatterns for better Expo compatibility Permission Matrix: - Custodian: full access (6 permissions) - Guardian: full except remove (5 permissions) - Caretaker: view-only (3 permissions) Key files verified: - components/ui/BeneficiaryMenu.tsx - permission enforcement - app/(tabs)/beneficiaries/[id]/share.tsx - role management UI - services/api.ts - backend integration - __tests__/components/BeneficiaryMenu.test.tsx - test coverage
21 lines
718 B
JavaScript
21 lines
718 B
JavaScript
module.exports = {
|
|
preset: 'jest-expo',
|
|
testEnvironment: 'node',
|
|
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
|
|
transformIgnorePatterns: [
|
|
'node_modules/(?!(expo|expo-router|expo-font|expo-asset|expo-constants|expo-modules-core|@expo/.*|@expo-google-fonts/.*|@react-native|react-native|@react-navigation|react-navigation|@unimodules/.*|unimodules|sentry-expo|native-base|react-native-svg)/)',
|
|
],
|
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
|
|
moduleNameMapper: {
|
|
'^@/(.*)$': '<rootDir>/$1',
|
|
},
|
|
collectCoverageFrom: [
|
|
'components/**/*.{ts,tsx}',
|
|
'app/**/*.{ts,tsx}',
|
|
'services/**/*.{ts,tsx}',
|
|
'contexts/**/*.{ts,tsx}',
|
|
'!**/*.d.ts',
|
|
'!**/node_modules/**',
|
|
],
|
|
};
|