49 lines
1.6 KiB
TypeScript
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('');
|
|
});
|
|
});
|
|
});
|