fix(rbac): RBAC dynamic grants + API ACL enforcement #1290
Annotations
4 errors and 3 warnings
|
test
Process completed with exit code 1.
|
|
src/__tests__/templates/admin-layout-catalyst.test.ts > renderAdminLayoutCatalyst > Dynamic Menu Items > should render dynamic menu items:
packages/core/src/__tests__/templates/admin-layout-catalyst.test.ts#L331
AssertionError: expected '<!DOCTYPE html>\n<html lang="en" clas…' to contain 'Custom Page'
- Expected
+ Received
- Custom Page
+ <!DOCTYPE html>
+ <html lang="en" class="dark">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Test Page - SonicJS AI Admin</title>
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
+
+ <!-- Tailwind CSS -->
+ <script src="https://cdn.tailwindcss.com"></script>
+ <script>
+ tailwind.config = {
+ darkMode: 'class',
+ theme: {
+ extend: {
+ colors: {
+ zinc: {
+ 50: '#fafafa',
+ 100: '#f4f4f5',
+ 200: '#e4e4e7',
+ 300: '#d4d4d8',
+ 400: '#a1a1aa',
+ 500: '#71717a',
+ 600: '#52525b',
+ 700: '#3f3f46',
+ 800: '#27272a',
+ 900: '#18181b',
+ 950: '#09090b'
+ }
+ }
+ }
+ }
+ }
+ </script>
+
+ <!-- Additional Styles -->
+ <style>
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
+
+ * {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ }
+
+ body {
+ font-family: 'Inter', system-ui, -apple-system, sans-serif;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ }
+
+ /* Custom scrollbar */
+ ::-webkit-scrollbar {
+ width: 8px;
+ height: 8px;
+ }
+
+ ::-webkit-scrollbar-track {
+ background: #27272a;
+ }
+
+ ::-webkit-scrollbar-thumb {
+ background: #52525b;
+ border-radius: 4px;
+ }
+
+ ::-webkit-scrollbar-thumb:hover {
+ background: #71717a;
+ }
+
+ /* Smooth transitions */
+ * {
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 150ms;
+ }
+ .plugins-closed [data-plugins-submenu] { display: none; }
+ </style>
+ <!-- Restore plugins submenu state before first paint (no flash) -->
+ <script>(function(){try{var c=document.cookie.split(';').reduce(function(v,p){var t=p.trim().split('=');return t[0]==='plugins_menu_open'?t[1]:v;},null);if(c==='0'){document.documentElement.classList.add('plugins-closed');document.addEventListener('DOMContentLoaded',function(){var ch=document.querySelector('[data-plugins-chevron]');if(ch)ch.classList.remove('rotate-180');});};}catch(e){}})();</script>
+
+ <!-- Scripts -->
+ <script src="https://unpkg.com/htmx.org@2.0.3"></script>
+ <script src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js" defer></script>
+ <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
+
+ <!-- CSRF: Auto-attach token to all HTMX and fetch requests -->
+ <script>
+ function getCsrfToken() {
+ var cookie = document.cookie.split('; ')
+ .find(function(row) { return row.startsWith('csrf_token='); });
+ return cookie ? cookie.substring(cookie.indexOf('=') + 1) : '';
+ }
+
+ document.addEventListener('htmx:configRequest', function(event) {
+ var token = getCsrfToken();
+ if (token) {
+ event.detail.headers['X-CSRF-Token'] = token;
+ }
+ });
+
+ (function() {
+ var originalFetch = window.fetch;
+ window.fetch = function(url, options) {
+ options = options || {};
+ var method = (options.method || 'GET').toUpperCase();
+ if (method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS') {
+ options.headers = options.headers || {};
+ if (options.headers instanceof Headers) {
+ if (!options.headers.has('X-CSRF-Token')) {
+ options.headers.set('X-CSRF-Token', getCsrfToken());
+ }
+ } else if (!Array.isArray(options.headers) && !options.headers['X-CSRF-Token']) {
+ opt
|
|
src/__tests__/templates/admin-layout-catalyst.test.ts > renderAdminLayoutCatalyst > Sidebar Navigation > should render default menu items:
packages/core/src/__tests__/templates/admin-layout-catalyst.test.ts#L282
AssertionError: expected '<!DOCTYPE html>\n<html lang="en" clas…' to contain 'Users'
- Expected
+ Received
- Users
+ <!DOCTYPE html>
+ <html lang="en" class="dark">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Test Page - SonicJS AI Admin</title>
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
+
+ <!-- Tailwind CSS -->
+ <script src="https://cdn.tailwindcss.com"></script>
+ <script>
+ tailwind.config = {
+ darkMode: 'class',
+ theme: {
+ extend: {
+ colors: {
+ zinc: {
+ 50: '#fafafa',
+ 100: '#f4f4f5',
+ 200: '#e4e4e7',
+ 300: '#d4d4d8',
+ 400: '#a1a1aa',
+ 500: '#71717a',
+ 600: '#52525b',
+ 700: '#3f3f46',
+ 800: '#27272a',
+ 900: '#18181b',
+ 950: '#09090b'
+ }
+ }
+ }
+ }
+ }
+ </script>
+
+ <!-- Additional Styles -->
+ <style>
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
+
+ * {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ }
+
+ body {
+ font-family: 'Inter', system-ui, -apple-system, sans-serif;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ }
+
+ /* Custom scrollbar */
+ ::-webkit-scrollbar {
+ width: 8px;
+ height: 8px;
+ }
+
+ ::-webkit-scrollbar-track {
+ background: #27272a;
+ }
+
+ ::-webkit-scrollbar-thumb {
+ background: #52525b;
+ border-radius: 4px;
+ }
+
+ ::-webkit-scrollbar-thumb:hover {
+ background: #71717a;
+ }
+
+ /* Smooth transitions */
+ * {
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 150ms;
+ }
+ .plugins-closed [data-plugins-submenu] { display: none; }
+ </style>
+ <!-- Restore plugins submenu state before first paint (no flash) -->
+ <script>(function(){try{var c=document.cookie.split(';').reduce(function(v,p){var t=p.trim().split('=');return t[0]==='plugins_menu_open'?t[1]:v;},null);if(c==='0'){document.documentElement.classList.add('plugins-closed');document.addEventListener('DOMContentLoaded',function(){var ch=document.querySelector('[data-plugins-chevron]');if(ch)ch.classList.remove('rotate-180');});};}catch(e){}})();</script>
+
+ <!-- Scripts -->
+ <script src="https://unpkg.com/htmx.org@2.0.3"></script>
+ <script src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js" defer></script>
+ <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
+
+ <!-- CSRF: Auto-attach token to all HTMX and fetch requests -->
+ <script>
+ function getCsrfToken() {
+ var cookie = document.cookie.split('; ')
+ .find(function(row) { return row.startsWith('csrf_token='); });
+ return cookie ? cookie.substring(cookie.indexOf('=') + 1) : '';
+ }
+
+ document.addEventListener('htmx:configRequest', function(event) {
+ var token = getCsrfToken();
+ if (token) {
+ event.detail.headers['X-CSRF-Token'] = token;
+ }
+ });
+
+ (function() {
+ var originalFetch = window.fetch;
+ window.fetch = function(url, options) {
+ options = options || {};
+ var method = (options.method || 'GET').toUpperCase();
+ if (method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS') {
+ options.headers = options.headers || {};
+ if (options.headers instanceof Headers) {
+ if (!options.headers.has('X-CSRF-Token')) {
+ options.headers.set('X-CSRF-Token', getCsrfToken());
+ }
+ } else if (!Array.isArray(options.headers) && !options.headers['X-CSRF-Token']) {
+ options.headers
|
|
src/__tests__/routes/admin-users-profile.test.ts > Admin Users - Profile on Edit Page > PUT /admin/users/:id > should skip the profile write when no profile fields are submitted:
packages/core/src/__tests__/routes/admin-users-profile.test.ts#L344
AssertionError: expected 3 to be 2 // Object.is equality
- Expected
+ Received
- 2
+ 3
❯ src/__tests__/routes/admin-users-profile.test.ts:344:48
|
|
test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test
No files were found with the provided path: test-results/**/*.webm
playwright-report/**/*.webm. No artifacts will be uploaded.
|
|
test
No files were found with the provided path: playwright-report/. No artifacts will be uploaded.
|