Skip to content

Commit 0161f57

Browse files
committed
chore: add test
1 parent 1eb735c commit 0161f57

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

tests/integration/tests/enhancements/with-policy/toplevel-operations.test.ts

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,4 +271,52 @@ describe('With Policy: toplevel operations', () => {
271271

272272
expect(await db.model.deleteMany()).toEqual(expect.objectContaining({ count: 0 }));
273273
});
274+
275+
it('list tests', async () => {
276+
const { enhance, prisma } = await loadSchema(
277+
`
278+
model Model {
279+
id String @id @default(uuid())
280+
281+
@@allow('create', true)
282+
@@allow('list', true)
283+
}
284+
`
285+
);
286+
287+
const db = enhance();
288+
289+
await expect(
290+
db.model.create({
291+
data: {
292+
id: '1',
293+
value: 1,
294+
},
295+
})
296+
).toBeRejectedByPolicy();
297+
const fromPrisma = await prisma.model.findUnique({
298+
where: { id: '1' },
299+
});
300+
expect(fromPrisma).toBeTruthy();
301+
302+
expect(await db.model.findMany()).toHaveLength(0);
303+
expect(await db.model.findUnique({ where: { id: '1' } })).toBeNull();
304+
expect(await db.model.findFirst({ where: { id: '1' } })).toBeNull();
305+
await expect(db.model.findUniqueOrThrow({ where: { id: '1' } })).toBeNotFound();
306+
await expect(db.model.findFirstOrThrow({ where: { id: '1' } })).toBeNotFound();
307+
308+
const item2 = {
309+
id: '2',
310+
value: 2,
311+
};
312+
const r1 = await db.model.create({
313+
data: item2,
314+
});
315+
expect(r1).toBeTruthy();
316+
expect(await db.model.findMany()).toHaveLength(1);
317+
expect(await db.model.findUnique({ where: { id: '2' } })).toEqual(expect.objectContaining(item2));
318+
expect(await db.model.findFirst({ where: { id: '2' } })).toEqual(expect.objectContaining(item2));
319+
expect(await db.model.findUniqueOrThrow({ where: { id: '2' } })).toEqual(expect.objectContaining(item2));
320+
expect(await db.model.findFirstOrThrow({ where: { id: '2' } })).toEqual(expect.objectContaining(item2));
321+
});
274322
});

0 commit comments

Comments
 (0)