Skip to main content
Glama

Notion MCP Server

by Kazy1014
QueryPagesUseCase.test.ts2.16 kB
/** * QueryPagesUseCase のテスト */ import { QueryPagesUseCase } from '../use-cases/QueryPagesUseCase.js'; import { IPageRepository } from '../../domain/repositories/IPageRepository.js'; import { Page } from '../../domain/entities/Page.js'; import { PageId } from '../../domain/value-objects/PageId.js'; import { DatabaseId } from '../../domain/value-objects/DatabaseId.js'; describe('QueryPagesUseCase', () => { let mockPageRepository: jest.Mocked<IPageRepository>; let useCase: QueryPagesUseCase; beforeEach(() => { mockPageRepository = { create: jest.fn(), findById: jest.fn(), query: jest.fn(), update: jest.fn(), archive: jest.fn(), delete: jest.fn(), }; useCase = new QueryPagesUseCase(mockPageRepository); }); it('ページをクエリできる', async () => { const input = { databaseId: '223e4567-e89b-12d3-a456-426614174000', filter: { property: 'Status', select: { equals: 'Done' } }, pageSize: 10, }; const pages = [ new Page( new PageId('123e4567-e89b-12d3-a456-426614174000'), new DatabaseId(input.databaseId), {}, new Date(), new Date() ), ]; const expectedResult = { pages, hasMore: false, nextCursor: undefined, }; mockPageRepository.query.mockResolvedValue(expectedResult); const result = await useCase.execute(input); expect(mockPageRepository.query).toHaveBeenCalledWith( expect.any(DatabaseId), { filter: input.filter, sorts: undefined, startCursor: undefined, pageSize: 10, } ); expect(result).toBe(expectedResult); }); it('フィルターなしでページをクエリできる', async () => { const input = { databaseId: '223e4567-e89b-12d3-a456-426614174000', }; const expectedResult = { pages: [], hasMore: false, }; mockPageRepository.query.mockResolvedValue(expectedResult); const result = await useCase.execute(input); expect(mockPageRepository.query).toHaveBeenCalled(); expect(result).toBe(expectedResult); }); });

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/Kazy1014/notion-mcp'

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