Merge pull request #103 from phj1081/codex/owner/ejclaw
test: remove duplicate handoff helper coverage
This commit is contained in:
@@ -284,11 +284,7 @@ vi.mock('./session-commands.js', () => ({
|
|||||||
import * as agentRunner from './agent-runner.js';
|
import * as agentRunner from './agent-runner.js';
|
||||||
import * as db from './db.js';
|
import * as db from './db.js';
|
||||||
import { resolveGroupIpcPath } from './group-folder.js';
|
import { resolveGroupIpcPath } from './group-folder.js';
|
||||||
import {
|
import { createMessageRuntime } from './message-runtime.js';
|
||||||
createMessageRuntime,
|
|
||||||
resolveHandoffCursorKey,
|
|
||||||
resolveHandoffRoleOverride,
|
|
||||||
} from './message-runtime.js';
|
|
||||||
import {
|
import {
|
||||||
buildPendingPairedTurn,
|
buildPendingPairedTurn,
|
||||||
resolveBotOnlyPairedFollowUpAction,
|
resolveBotOnlyPairedFollowUpAction,
|
||||||
@@ -342,55 +338,6 @@ describe('createMessageRuntime', () => {
|
|||||||
vi.mocked(config.isReviewService).mockReturnValue(false);
|
vi.mocked(config.isReviewService).mockReturnValue(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('prefers intended_role over reason prefixes for handoff role resolution', () => {
|
|
||||||
expect(
|
|
||||||
resolveHandoffRoleOverride({
|
|
||||||
target_role: 'arbiter',
|
|
||||||
intended_role: 'reviewer',
|
|
||||||
reason: 'reviewer-claude-429',
|
|
||||||
}),
|
|
||||||
).toBe('arbiter');
|
|
||||||
expect(
|
|
||||||
resolveHandoffRoleOverride({
|
|
||||||
target_role: null,
|
|
||||||
intended_role: 'reviewer',
|
|
||||||
reason: 'claude-429',
|
|
||||||
}),
|
|
||||||
).toBe('reviewer');
|
|
||||||
expect(
|
|
||||||
resolveHandoffRoleOverride({
|
|
||||||
target_role: null,
|
|
||||||
intended_role: null,
|
|
||||||
reason: 'arbiter-claude-429',
|
|
||||||
}),
|
|
||||||
).toBe('arbiter');
|
|
||||||
expect(
|
|
||||||
resolveHandoffRoleOverride({
|
|
||||||
target_role: null,
|
|
||||||
intended_role: null,
|
|
||||||
reason: 'reviewer-claude-usage-exhausted',
|
|
||||||
}),
|
|
||||||
).toBe('reviewer');
|
|
||||||
expect(
|
|
||||||
resolveHandoffRoleOverride({
|
|
||||||
target_role: null,
|
|
||||||
intended_role: null,
|
|
||||||
reason: 'claude-usage-exhausted',
|
|
||||||
}),
|
|
||||||
).toBeUndefined();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('uses role-scoped cursor keys for reviewer and arbiter handoffs', () => {
|
|
||||||
expect(resolveHandoffCursorKey('group@test')).toBe('group@test');
|
|
||||||
expect(resolveHandoffCursorKey('group@test', 'owner')).toBe('group@test');
|
|
||||||
expect(resolveHandoffCursorKey('group@test', 'reviewer')).toBe(
|
|
||||||
'group@test:reviewer',
|
|
||||||
);
|
|
||||||
expect(resolveHandoffCursorKey('group@test', 'arbiter')).toBe(
|
|
||||||
'group@test:arbiter',
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('ignores generic failure bot messages in paired rooms', async () => {
|
it('ignores generic failure bot messages in paired rooms', async () => {
|
||||||
const chatJid = 'group@test';
|
const chatJid = 'group@test';
|
||||||
const group = makeGroup('codex');
|
const group = makeGroup('codex');
|
||||||
|
|||||||
@@ -39,10 +39,6 @@ import { transitionPairedTaskStatus } from './paired-task-status.js';
|
|||||||
import { Channel, NewMessage, RegisteredGroup } from './types.js';
|
import { Channel, NewMessage, RegisteredGroup } from './types.js';
|
||||||
import { createScopedLogger, logger } from './logger.js';
|
import { createScopedLogger, logger } from './logger.js';
|
||||||
import { hasReviewerLease } from './service-routing.js';
|
import { hasReviewerLease } from './service-routing.js';
|
||||||
export {
|
|
||||||
resolveHandoffCursorKey,
|
|
||||||
resolveHandoffRoleOverride,
|
|
||||||
} from './message-runtime-shared.js';
|
|
||||||
import {
|
import {
|
||||||
getFixedRoleChannelName,
|
getFixedRoleChannelName,
|
||||||
getMissingRoleChannelMessage,
|
getMissingRoleChannelMessage,
|
||||||
|
|||||||
Reference in New Issue
Block a user