config.test.js 1.09 KB
/**
 * Unit Tests — config.js
 */
import { describe, it, expect, beforeEach } from 'vitest';
import path from 'path';

describe('config', () => {
  let config;

  beforeEach(() => {
    const configPath = path.resolve(__dirname, '../../config.js');
    delete require.cache[configPath];
    config = require(configPath);
  });

  it('should have a port defined', () => {
    expect(config.port).toBeDefined();
    expect(typeof config.port).toBe('number');
  });

  it('should have skills directories defined', () => {
    expect(config.skillsCodeDir).toBeDefined();
    expect(config.skillsDataDir).toBeDefined();
    expect(typeof config.skillsCodeDir).toBe('string');
  });

  it('should have CORS config defined', () => {
    expect(config.cors).toBeDefined();
  });

  it('should expose all required config keys', () => {
    const requiredKeys = ['port', 'skillsCodeDir', 'skillsDataDir', 'trainedSkillsDir', 'cors'];
    for (const key of requiredKeys) {
      expect(config).toHaveProperty(key);
    }
  });

  it('should have openApi config', () => {
    expect(config.openApi).toBeDefined();
  });
});