Continue runtime and scheduler cleanup
This commit is contained in:
56
src/message-runtime-shared.test.ts
Normal file
56
src/message-runtime-shared.test.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
import {
|
||||
getFixedRoleChannelName,
|
||||
getMissingRoleChannelMessage,
|
||||
resolveHandoffCursorKey,
|
||||
resolveHandoffRoleOverride,
|
||||
} from './message-runtime-shared.js';
|
||||
|
||||
describe('message-runtime-shared', () => {
|
||||
it('prefers explicit target role over inferred handoff metadata', () => {
|
||||
expect(
|
||||
resolveHandoffRoleOverride({
|
||||
target_role: 'arbiter',
|
||||
intended_role: 'reviewer',
|
||||
reason: 'reviewer-follow-up',
|
||||
}),
|
||||
).toBe('arbiter');
|
||||
});
|
||||
|
||||
it('falls back from intended role to reason prefix when needed', () => {
|
||||
expect(
|
||||
resolveHandoffRoleOverride({
|
||||
target_role: null,
|
||||
intended_role: 'reviewer',
|
||||
reason: 'arbiter-follow-up',
|
||||
}),
|
||||
).toBe('reviewer');
|
||||
expect(
|
||||
resolveHandoffRoleOverride({
|
||||
target_role: null,
|
||||
intended_role: null,
|
||||
reason: 'arbiter-follow-up',
|
||||
}),
|
||||
).toBe('arbiter');
|
||||
});
|
||||
|
||||
it('builds owner and role-scoped cursor keys', () => {
|
||||
expect(resolveHandoffCursorKey('room-1')).toBe('room-1');
|
||||
expect(resolveHandoffCursorKey('room-1', 'owner')).toBe('room-1');
|
||||
expect(resolveHandoffCursorKey('room-1', 'reviewer')).toBe(
|
||||
'room-1:reviewer',
|
||||
);
|
||||
});
|
||||
|
||||
it('returns fixed role channel names and user-facing missing-channel errors', () => {
|
||||
expect(getFixedRoleChannelName('reviewer')).toBe('discord-review');
|
||||
expect(getFixedRoleChannelName('arbiter')).toBe('discord-arbiter');
|
||||
expect(getMissingRoleChannelMessage('reviewer')).toContain(
|
||||
'discord-review',
|
||||
);
|
||||
expect(getMissingRoleChannelMessage('arbiter')).toContain(
|
||||
'discord-arbiter',
|
||||
);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user