1- import  {  loadSchema  }  from  '@zenstackhq/testtools' ; 
1+ import  {  SchemaLoadOptions ,   loadSchema  }  from  '@zenstackhq/testtools' ; 
22
33describe ( 'Permission checker' ,  ( )  =>  { 
4-     it ( 'empty rules' ,  async  ( )  =>  { 
4+     const  PRELUDE  =  ` 
5+         datasource db { 
6+             provider = 'sqlite' 
7+             url = 'file:./dev.db' 
8+         } 
9+ 
10+         generator js { 
11+             provider = 'prisma-client-js' 
12+         } 
13+ 
14+         plugin enhancer { 
15+             provider = '@core/enhancer' 
16+             generatePermissionChecker = true 
17+         } 
18+     ` ; 
19+ 
20+     const  load  =  ( schema : string ,  options ?: SchemaLoadOptions )  => 
21+         loadSchema ( `${ PRELUDE } ${ schema }  ,  { 
22+             ...options , 
23+             addPrelude : false , 
24+         } ) ; 
25+ 
26+     it ( 'checker generation not enabled' ,  async  ( )  =>  { 
527        const  {  enhance }  =  await  loadSchema ( 
28+             ` 
29+             model Model { 
30+                 id Int @id @default(autoincrement()) 
31+                 value Int 
32+                 @@allow('all', true) 
33+             } 
34+             ` 
35+         ) ; 
36+         const  db  =  enhance ( ) ; 
37+         await  expect ( db . model . check ( 'read' ) ) . toResolveFalsy ( ) ; 
38+     } ) ; 
39+ 
40+     it ( 'empty rules' ,  async  ( )  =>  { 
41+         const  {  enhance }  =  await  load ( 
642            ` 
743            model Model { 
844                id Int @id @default(autoincrement()) 
@@ -16,7 +52,7 @@ describe('Permission checker', () => {
1652    } ) ; 
1753
1854    it ( 'unconditional allow' ,  async  ( )  =>  { 
19-         const  {  enhance }  =  await  loadSchema ( 
55+         const  {  enhance }  =  await  load ( 
2056            ` 
2157            model Model { 
2258                id Int @id @default(autoincrement()) 
@@ -31,7 +67,7 @@ describe('Permission checker', () => {
3167    } ) ; 
3268
3369    it ( 'deny rule' ,  async  ( )  =>  { 
34-         const  {  enhance }  =  await  loadSchema ( 
70+         const  {  enhance }  =  await  load ( 
3571            ` 
3672            model Model { 
3773                id Int @id @default(autoincrement()) 
@@ -49,7 +85,7 @@ describe('Permission checker', () => {
4985    } ) ; 
5086
5187    it ( 'int field condition' ,  async  ( )  =>  { 
52-         const  {  enhance }  =  await  loadSchema ( 
88+         const  {  enhance }  =  await  load ( 
5389            ` 
5490            model Model { 
5591                id Int @id @default(autoincrement()) 
@@ -82,7 +118,7 @@ describe('Permission checker', () => {
82118    } ) ; 
83119
84120    it ( 'boolean field toplevel condition' ,  async  ( )  =>  { 
85-         const  {  enhance }  =  await  loadSchema ( 
121+         const  {  enhance }  =  await  load ( 
86122            ` 
87123            model Model { 
88124                id Int @id @default(autoincrement()) 
@@ -99,7 +135,7 @@ describe('Permission checker', () => {
99135    } ) ; 
100136
101137    it ( 'boolean field condition' ,  async  ( )  =>  { 
102-         const  {  enhance }  =  await  loadSchema ( 
138+         const  {  enhance }  =  await  load ( 
103139            ` 
104140            model Model { 
105141                id Int @id @default(autoincrement()) 
@@ -131,7 +167,7 @@ describe('Permission checker', () => {
131167    } ) ; 
132168
133169    it ( 'string field condition' ,  async  ( )  =>  { 
134-         const  {  enhance }  =  await  loadSchema ( 
170+         const  {  enhance }  =  await  load ( 
135171            ` 
136172            model Model { 
137173                id Int @id @default(autoincrement()) 
@@ -148,7 +184,7 @@ describe('Permission checker', () => {
148184    } ) ; 
149185
150186    it ( 'function noop' ,  async  ( )  =>  { 
151-         const  {  enhance }  =  await  loadSchema ( 
187+         const  {  enhance }  =  await  load ( 
152188            ` 
153189            model Model { 
154190                id Int @id @default(autoincrement()) 
@@ -169,7 +205,7 @@ describe('Permission checker', () => {
169205    } ) ; 
170206
171207    it ( 'relation noop' ,  async  ( )  =>  { 
172-         const  {  enhance }  =  await  loadSchema ( 
208+         const  {  enhance }  =  await  load ( 
173209            ` 
174210            model Model { 
175211                id Int @id @default(autoincrement()) 
@@ -194,7 +230,7 @@ describe('Permission checker', () => {
194230    } ) ; 
195231
196232    it ( 'collection predicate noop' ,  async  ( )  =>  { 
197-         const  {  enhance }  =  await  loadSchema ( 
233+         const  {  enhance }  =  await  load ( 
198234            ` 
199235            model Model { 
200236                id Int @id @default(autoincrement()) 
@@ -219,7 +255,7 @@ describe('Permission checker', () => {
219255    } ) ; 
220256
221257    it ( 'field complex condition' ,  async  ( )  =>  { 
222-         const  {  enhance }  =  await  loadSchema ( 
258+         const  {  enhance }  =  await  load ( 
223259            ` 
224260            model Model { 
225261                id Int @id @default(autoincrement()) 
@@ -252,7 +288,7 @@ describe('Permission checker', () => {
252288    } ) ; 
253289
254290    it ( 'field condition unsolvable' ,  async  ( )  =>  { 
255-         const  {  enhance }  =  await  loadSchema ( 
291+         const  {  enhance }  =  await  load ( 
256292            ` 
257293            model Model { 
258294                id Int @id @default(autoincrement()) 
@@ -272,7 +308,7 @@ describe('Permission checker', () => {
272308    } ) ; 
273309
274310    it ( 'simple auth condition' ,  async  ( )  =>  { 
275-         const  {  enhance }  =  await  loadSchema ( 
311+         const  {  enhance }  =  await  load ( 
276312            ` 
277313            model User { 
278314                id Int @id @default(autoincrement()) 
@@ -307,7 +343,7 @@ describe('Permission checker', () => {
307343    } ) ; 
308344
309345    it ( 'auth compared with relation field' ,  async  ( )  =>  { 
310-         const  {  enhance }  =  await  loadSchema ( 
346+         const  {  enhance }  =  await  load ( 
311347            ` 
312348            model User { 
313349                id Int @id @default(autoincrement()) 
@@ -349,7 +385,7 @@ describe('Permission checker', () => {
349385    } ) ; 
350386
351387    it ( 'auth null check' ,  async  ( )  =>  { 
352-         const  {  enhance }  =  await  loadSchema ( 
388+         const  {  enhance }  =  await  load ( 
353389            ` 
354390            model User { 
355391                id Int @id @default(autoincrement()) 
@@ -379,7 +415,7 @@ describe('Permission checker', () => {
379415    } ) ; 
380416
381417    it ( 'auth with relation access' ,  async  ( )  =>  { 
382-         const  {  enhance }  =  await  loadSchema ( 
418+         const  {  enhance }  =  await  load ( 
383419            ` 
384420            model User { 
385421                id Int @id @default(autoincrement()) 
@@ -408,7 +444,7 @@ describe('Permission checker', () => {
408444    } ) ; 
409445
410446    it ( 'nullable field' ,  async  ( )  =>  { 
411-         const  {  enhance }  =  await  loadSchema ( 
447+         const  {  enhance }  =  await  load ( 
412448            ` 
413449            model Model { 
414450                id Int @id @default(autoincrement()) 
@@ -427,7 +463,7 @@ describe('Permission checker', () => {
427463    } ) ; 
428464
429465    it ( 'compilation' ,  async  ( )  =>  { 
430-         await  loadSchema ( 
466+         await  load ( 
431467            ` 
432468            model Model { 
433469                id Int @id @default(autoincrement()) 
@@ -456,7 +492,7 @@ describe('Permission checker', () => {
456492    } ) ; 
457493
458494    it ( 'invalid filter' ,  async  ( )  =>  { 
459-         const  {  enhance }  =  await  loadSchema ( 
495+         const  {  enhance }  =  await  load ( 
460496            ` 
461497            model Model { 
462498                id Int @id @default(autoincrement()) 
@@ -498,7 +534,7 @@ describe('Permission checker', () => {
498534    } ) ; 
499535
500536    it ( 'float field ignored' ,  async  ( )  =>  { 
501-         const  {  enhance }  =  await  loadSchema ( 
537+         const  {  enhance }  =  await  load ( 
502538            ` 
503539            model Model { 
504540                id Int @id @default(autoincrement()) 
@@ -513,7 +549,7 @@ describe('Permission checker', () => {
513549    } ) ; 
514550
515551    it ( 'float value ignored' ,  async  ( )  =>  { 
516-         const  {  enhance }  =  await  loadSchema ( 
552+         const  {  enhance }  =  await  load ( 
517553            ` 
518554            model Model { 
519555                id Int @id @default(autoincrement()) 
0 commit comments