UNPKG

@lableb/javascript-sdk

Version:

Lableb cloud search client for javascript

137 lines (90 loc) 3.3 kB
import { generate } from 'randomstring'; import { MESSAGES } from '../../config/messages'; import { LablebClient } from '../lableb-client/lableb-client'; import { LablebDocumentInput } from '../lableb-client/lableb-client.type'; describe('Test Auth', () => { test('index at lableb cloud without api key', async () => { try { const lablebClient = LablebClient({ platformName: process.env.PLATFORM_NAME, }); await lablebClient.index({ documents: [{ id: '1' }] }); } catch (error) { expect(error.message).toEqual(MESSAGES.INDEXING_API_KEY_IS_REQUIRED); } }); }); describe('Test index Request', () => { test('index documents at lableb cloud', async () => { const lablebClient = LablebClient({ indexingAPIKey: process.env.INDEX_API_KEY, platformName: process.env.PLATFORM_NAME, }); const DOCUMENTS: LablebDocumentInput[] = [ { id: 1, url: `https://example.com/${generate()}`, title: generate(), }, { id: 2, url: `https://example.com/${generate()}`, title: generate(), }, { id: 3, url: `https://example.com/${generate()}`, title: 'Hello Lableb', tags: ['lableb', 'greeting', 'test'] }, { id: 4, url: `https://example.com/${generate()}`, title: 'Hello World', tags: ['greeting', 'the world'] }, ] const indexResult = await lablebClient.index({ documents: DOCUMENTS, }); expect(indexResult.code).toBe(200); expect(indexResult.time).toBeGreaterThan(0); expect(indexResult.response).toBeNull(); }); }); describe('Bad Inputs', () => { test('index no documents at lableb cloud', async () => { try { const lablebClient = LablebClient({ indexingAPIKey: process.env.INDEX_API_KEY, platformName: process.env.PLATFORM_NAME, }); await lablebClient.index({} as any); } catch (error) { expect(error.message).toEqual(MESSAGES.DOCUMENTS_IS_REQUIRED); } }); test('index empty documents at lableb cloud', async () => { try { const lablebClient = LablebClient({ indexingAPIKey: process.env.INDEX_API_KEY, platformName: process.env.PLATFORM_NAME, }); await lablebClient.index({ documents: [] }); } catch (error) { expect(error.message).toEqual(MESSAGES.DOCUMENTS_LENGTH_IS_INVALID); } }); test('index documents at lableb cloud without index api key', async () => { try { const lablebClient = LablebClient({ platformName: process.env.PLATFORM_NAME, }); await lablebClient.index({ documents: [{ id: 3 }] }); } catch (error) { expect(error.message).toEqual(MESSAGES.INDEXING_API_KEY_IS_REQUIRED); } }); });