takt/src/__tests__/instruction-context.test.ts
2026-02-10 07:07:40 +09:00

49 lines
1.6 KiB
TypeScript

/**
* Unit tests for instruction-context
*
* Tests buildEditRule function for localized edit permission messages.
*/
import { describe, it, expect } from 'vitest';
import { buildEditRule } from '../core/piece/instruction/instruction-context.js';
describe('buildEditRule', () => {
describe('edit = true', () => {
it('should return English editing-enabled message', () => {
const result = buildEditRule(true, 'en');
expect(result).toContain('Editing is ENABLED');
expect(result).toContain('create, modify, and delete files');
});
it('should return Japanese editing-enabled message', () => {
const result = buildEditRule(true, 'ja');
expect(result).toContain('編集が許可されています');
expect(result).toContain('ファイルの作成・変更・削除');
});
});
describe('edit = false', () => {
it('should return English editing-disabled message', () => {
const result = buildEditRule(false, 'en');
expect(result).toContain('Editing is DISABLED');
expect(result).toContain('Do NOT create, modify, or delete');
});
it('should return Japanese editing-disabled message', () => {
const result = buildEditRule(false, 'ja');
expect(result).toContain('編集が禁止されています');
expect(result).toContain('作成・変更・削除しないで');
});
});
describe('edit = undefined', () => {
it('should return empty string for English', () => {
expect(buildEditRule(undefined, 'en')).toBe('');
});
it('should return empty string for Japanese', () => {
expect(buildEditRule(undefined, 'ja')).toBe('');
});
});
});