agent-ecosystem/test/renderer/components/team/activity/ActivityItem.test.ts
iliya cba10b8ad4 feat: enhance team provisioning with member spawn auditing and improved error handling
- Simplified member spawn event handling by removing redundant checks for missing parameters.
- Introduced a new audit function to verify registered members against expected members post-provisioning, flagging any discrepancies.
- Updated logging to provide clearer warnings for unregistered members after provisioning.
- Enhanced test cases to ensure accurate behavior of spawn handling and auditing processes.
2026-03-16 17:20:42 +02:00

44 lines
1.8 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import {
getCrossTeamSentMemberName,
getCrossTeamSentTarget,
getSystemMessageLabel,
isQualifiedExternalRecipient,
} from '@renderer/components/team/activity/ActivityItem';
describe('ActivityItem legacy system message fallback', () => {
it('recognizes historical assignment and review message wording', () => {
expect(getSystemMessageLabel('New task assigned to you: #abcd1234 "Implement feature".')).toBe(
'Task'
);
expect(getSystemMessageLabel('Task #abcd1234 approved by reviewer.')).toBe('Task approved');
expect(getSystemMessageLabel('Task #abcd1234 needs fixes before approval.')).toBe(
'Review changes requested'
);
});
it('does not treat new controller-authored summaries as legacy system noise', () => {
expect(getSystemMessageLabel('Review request for #abcd1234')).toBeNull();
expect(getSystemMessageLabel('Approved abcd1234')).toBeNull();
expect(getSystemMessageLabel('Fix request for abcd1234')).toBeNull();
});
it('does not classify dotted local teammates as external recipients', () => {
expect(isQualifiedExternalRecipient('ops.bot', 'my-team', new Set(['ops.bot']))).toBe(false);
expect(isQualifiedExternalRecipient('team-best.user', 'my-team', new Set(['ops.bot']))).toBe(
true
);
});
it('recognizes pseudo cross-team recipients in activity rows', () => {
expect(getCrossTeamSentTarget('cross-team:team-best', 'my-team', new Set(['ops.bot']))).toBe(
'team-best'
);
expect(getCrossTeamSentTarget('team-best.user', 'my-team', new Set(['ops.bot']))).toBe(
'team-best'
);
expect(getCrossTeamSentMemberName('team-best.user')).toBe('user');
expect(getCrossTeamSentMemberName('cross-team:team-best')).toBeNull();
});
});