Skip to main content
Glama

Prisma MCP Server

Official
by prisma
Apache 2.0
4
44,213
  • Linux
  • Apple
tests.ts3.44 kB
import testMatrix from './_matrix' // @ts-ignore import type { PrismaClient } from './generated/prisma/client' declare let prisma: PrismaClient testMatrix.setupTestSuite((_suiteConfig, _suiteMeta, _clientMeta) => { beforeAll(async () => { await prisma.user.create({ data: { email: 'user-1@email.com', age: 111, name: 'some-name-1' } }) await prisma.user.create({ data: { email: 'user-2@email.com', age: 222, name: 'some-name-2' } }) await prisma.user.create({ data: { email: 'user-3@email.com', age: 333, name: 'some-name-3' } }) }) test('simple', async () => { const value = await prisma.user.count() expect(value).toMatchInlineSnapshot(`3`) }) test('take', async () => { const value = await prisma.user.count({ take: 2, }) expect(value).toMatchInlineSnapshot(`2`) }) test('where', async () => { const value = await prisma.user.count({ where: { age: 111, }, }) expect(value).toMatchInlineSnapshot(`1`) }) test('select where', async () => { const value = await prisma.user.count({ select: true, where: { age: 111, }, }) expect(value).toMatchInlineSnapshot(`1`) }) test('select mixed where', async () => { const value = await prisma.user.count({ select: { _all: true, email: true, age: true, name: true, }, where: { age: 111, }, }) expect(value).toMatchInlineSnapshot(` { "_all": 1, "age": 1, "email": 1, "name": 1, } `) }) test('select all true', async () => { const value = await prisma.user.count({ select: true, // count with a selection }) expect(value).toMatchInlineSnapshot(`3`) }) test('select all false', async () => { const value = await prisma.user.count({ // @ts-expect-error - TODO There is a bug here select: false, // count with no selection }) expect(value).toMatchInlineSnapshot(`3`) }) test('select mixed', async () => { const value = await prisma.user.count({ select: { _all: true, email: true, age: true, name: true, }, }) expect(value).toMatchInlineSnapshot(` { "_all": 3, "age": 3, "email": 3, "name": 3, } `) }) test('bad prop', async () => { const err = prisma.user.count({ select: { _all: true, email: true, age: true, name: true, // @ts-expect-error posts: true, }, }) await expect(err).rejects.toMatchPrismaErrorInlineSnapshot(` " Invalid \`prisma.user.count()\` invocation in /client/tests/functional/methods/count/tests.ts:0:0 XX }) XX XX test('bad prop', async () => { → XX const err = prisma.user.count({ select: { _count: { select: { _all: true, email: true, age: true, name: true, posts: true, ~~~~~ ? id?: true } } } }) Unknown field \`posts\` for select statement on model \`UserCountAggregateOutputType\`. Available options are marked with ?." `) }) })

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prisma/prisma'

If you have feedback or need assistance with the MCP directory API, please join our Discord server