UNPKG

query-2jz

Version:

Query-2jz: A GraphQL alternative with faster performance and simpler use

69 lines (56 loc) 1.87 kB
import { Qryn } from '../index'; describe('Qryn', () => { let qryn: Qryn; beforeEach(() => { const config = global.testUtils.createMockConfig(); const models = [global.testUtils.createMockModel('User')]; qryn = new Qryn(config, models); }); afterEach(async () => { if (qryn) { await qryn.stop(); } }); describe('initialization', () => { it('should initialize successfully', async () => { await expect(qryn.initialize()).resolves.not.toThrow(); }); it('should get models', () => { const models = qryn.getModels(); expect(models).toHaveLength(1); expect(models[0].name).toBe('User'); }); it('should get model by name', () => { const model = qryn.getModel('User'); expect(model).toBeDefined(); expect(model?.name).toBe('User'); }); it('should return undefined for non-existent model', () => { const model = qryn.getModel('NonExistent'); expect(model).toBeUndefined(); }); }); describe('statistics', () => { it('should get stats', async () => { await qryn.initialize(); const stats = qryn.getStats(); expect(stats).toHaveProperty('initialized'); expect(stats).toHaveProperty('models'); }); }); describe('model management', () => { it('should add model', () => { const newModel = global.testUtils.createMockModel('Post'); qryn.addModel(newModel); const models = qryn.getModels(); expect(models).toHaveLength(2); expect(qryn.getModel('Post')).toBeDefined(); }); it('should remove model', () => { qryn.removeModel('User'); const models = qryn.getModels(); expect(models).toHaveLength(0); expect(qryn.getModel('User')).toBeUndefined(); }); }); });