Skip to main content
Glama

Prisma MCP Server

Official
by prisma
Apache 2.0
4
44,192
  • Linux
  • Apple
update-message.test.ts5.22 kB
import { jestConsoleContext, jestContext } from '@prisma/get-platform' import { printUpdateMessage } from '../utils/printUpdateMessage' const ctx = jestContext.new().add(jestConsoleContext()).assemble() describe('update available message', () => { let originalPrismaHideUpdateMessageEnv: string | undefined beforeEach(() => { originalPrismaHideUpdateMessageEnv = process.env.PRISMA_HIDE_UPDATE_MESSAGE delete process.env.PRISMA_HIDE_UPDATE_MESSAGE }) afterEach(() => { process.env.PRISMA_HIDE_UPDATE_MESSAGE = originalPrismaHideUpdateMessageEnv }) describe('update available', () => { it('dev tag - minor', () => { printUpdateMessage({ status: 'ok', // @ts-ignore data: { previous_version: '2.6.1-dev.18', current_version: '2.16.0-dev.8', package: 'prisma', release_tag: 'dev', outdated: true, }, }) const message = ctx.mocked['console.error'].mock.calls[0][0] expect(message).toContain('npm i --save-dev prisma@dev') expect(message).toContain('npm i @prisma/client@dev') expect(message).toMatchSnapshot() }) it('dev tag - major', () => { printUpdateMessage({ status: 'ok', // @ts-ignore data: { previous_version: '2.6.1-dev.18', current_version: '3.0.1-dev.8', package: 'prisma', release_tag: 'dev', outdated: true, }, }) const message = ctx.mocked['console.error'].mock.calls[0][0] expect(message).toContain('This is a major update') expect(message).toContain('npm i --save-dev prisma@dev') expect(message).toContain('npm i @prisma/client@dev') expect(message).toMatchSnapshot() }) it('latest tag - minor', () => { printUpdateMessage({ status: 'ok', // @ts-ignore data: { previous_version: '2.6.1', current_version: '2.16.0', package: 'prisma', release_tag: 'latest', outdated: true, }, }) const message = ctx.mocked['console.error'].mock.calls[0][0] expect(message).toContain('npm i --save-dev prisma@latest') expect(message).toContain('npm i @prisma/client@latest') expect(message).toMatchSnapshot() }) it('latest tag - major', () => { printUpdateMessage({ status: 'ok', // @ts-ignore data: { previous_version: '2.6.1', current_version: '3.0.0', package: 'prisma', release_tag: 'latest', outdated: true, }, }) const message = ctx.mocked['console.error'].mock.calls[0][0] expect(message).toContain('This is a major update') expect(message).toContain('npm i --save-dev prisma@latest') expect(message).toContain('npm i @prisma/client@latest') expect(message).toMatchSnapshot() }) }) it('prints nothing if the CLI is up to date', () => { printUpdateMessage({ status: 'ok', // @ts-ignore data: { outdated: false, }, }) expect(ctx.mocked['console.log']).not.toHaveBeenCalled() expect(ctx.mocked['console.info']).not.toHaveBeenCalled() expect(ctx.mocked['console.warn']).not.toHaveBeenCalled() expect(ctx.mocked['console.error']).not.toHaveBeenCalled() }) it('prints nothing if the checkResult.status is waiting', () => { printUpdateMessage({ status: 'waiting', // @ts-ignore data: {}, }) expect(ctx.mocked['console.log']).not.toHaveBeenCalled() expect(ctx.mocked['console.info']).not.toHaveBeenCalled() expect(ctx.mocked['console.warn']).not.toHaveBeenCalled() expect(ctx.mocked['console.error']).not.toHaveBeenCalled() }) it('prints nothing if the checkResult.status is disabled', () => { printUpdateMessage({ status: 'disabled', }) expect(ctx.mocked['console.log']).not.toHaveBeenCalled() expect(ctx.mocked['console.info']).not.toHaveBeenCalled() expect(ctx.mocked['console.warn']).not.toHaveBeenCalled() expect(ctx.mocked['console.error']).not.toHaveBeenCalled() }) it('prints nothing if the checkResult.status is reminded', () => { printUpdateMessage({ status: 'reminded', // @ts-ignore data: {}, }) expect(ctx.mocked['console.log']).not.toHaveBeenCalled() expect(ctx.mocked['console.info']).not.toHaveBeenCalled() expect(ctx.mocked['console.warn']).not.toHaveBeenCalled() expect(ctx.mocked['console.error']).not.toHaveBeenCalled() }) it('prints nothing if process.env.PRISMA_HIDE_UPDATE_MESSAGE is set', () => { process.env.PRISMA_HIDE_UPDATE_MESSAGE = 'true' printUpdateMessage({ status: 'ok', // @ts-ignore data: { previous_version: '2.6.1-dev.18', current_version: '3.0.1-dev.8', package: 'prisma', release_tag: 'dev', outdated: true, }, }) expect(ctx.mocked['console.log']).not.toHaveBeenCalled() expect(ctx.mocked['console.info']).not.toHaveBeenCalled() expect(ctx.mocked['console.warn']).not.toHaveBeenCalled() expect(ctx.mocked['console.error']).not.toHaveBeenCalled() }) })

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