40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { describe, expect, it, vi } from 'vitest'
|
|
import events from '../src/events/index.js'
|
|
|
|
import { redis } from '../client.js';
|
|
jest.mock('../client.js', () => ({
|
|
redis: {
|
|
get: jest.fn().mockResolvedValue('0.5'),
|
|
set: jest.fn().mockResolvedValue('OK'),
|
|
},
|
|
}));
|
|
|
|
/**
|
|
* Mocking ollama found in client.ts because pullModel.ts
|
|
* relies on the existence on ollama. To prevent the mock,
|
|
* we will have to pass through ollama to the commands somehow.
|
|
*/
|
|
vi.mock('../src/client.js', () => ({
|
|
ollama: {
|
|
pull: vi.fn() // Mock the pull method found with ollama
|
|
}
|
|
}))
|
|
|
|
/**
|
|
* Events test suite, tests the events object
|
|
* Each event is to be tested elsewhere, this file
|
|
* is to ensure that the events object is defined.
|
|
*/
|
|
describe('Events Existence', () => {
|
|
// test definition of events object
|
|
it('references defined object', () => {
|
|
expect(typeof events).toBe('object')
|
|
})
|
|
|
|
// test specific events in the object
|
|
it('references specific events', () => {
|
|
const eventsString = events.map(e => e.key.toString()).join(', ')
|
|
expect(eventsString).toBe('ready, messageCreate, interactionCreate, threadDelete')
|
|
})
|
|
})
|