70 lines
1.6 KiB
TypeScript
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',
|
|
],
|
|
},
|
|
]);
|
|
});
|
|
});
|