agent-ecosystem/test/main/services/team/memberUpdateNotifications.test.ts

70 lines
1.6 KiB
TypeScript

import {
buildReplaceMembersDiff,
buildReplaceMembersSummaryMessage,
} from '@main/services/team/memberUpdateNotifications';
import { describe, expect, it } from 'vitest';
describe('member update notifications', () => {
it('reports MCP policy changes as restart-required live roster updates', () => {
const diff = buildReplaceMembersDiff(
[
{
name: 'alice',
role: 'Developer',
providerId: 'codex',
},
],
[
{
name: 'alice',
role: 'Developer',
providerId: 'codex',
mcpPolicy: { mode: 'appOnly' },
},
]
);
expect(diff.updated).toEqual([
{
name: 'alice',
changes: ['MCP access policy changed - restart required'],
},
]);
expect(buildReplaceMembersSummaryMessage(diff)).toContain(
'MCP access policy changed - restart required'
);
});
it('reports provider backend and fast mode changes as restart-required updates', () => {
const diff = buildReplaceMembersDiff(
[
{
name: 'alice',
role: 'Developer',
providerId: 'gemini',
providerBackendId: 'api',
fastMode: 'off',
},
],
[
{
name: 'alice',
role: 'Developer',
providerId: 'gemini',
providerBackendId: 'cli-sdk',
fastMode: 'on',
},
]
);
expect(diff.updated).toEqual([
{
name: 'alice',
changes: [
'provider backend changed - restart required',
'fast mode changed - restart required',
],
},
]);
});
});