feat: add persisted manual pi backend mode controls
This commit is contained in:
@@ -30,6 +30,12 @@ describe('preferences', () => {
|
||||
expect(prefs.modelTier).toBe('local');
|
||||
});
|
||||
|
||||
it('round-trips backend mode preference', () => {
|
||||
savePreference(dataDir, 'backendMode', 'force_native');
|
||||
const prefs = loadPreferences(dataDir);
|
||||
expect(prefs.backendMode).toBe('force_native');
|
||||
});
|
||||
|
||||
it('merges preferences without overwriting other keys', () => {
|
||||
savePreference(dataDir, 'modelTier', 'fast');
|
||||
savePreference(dataDir, 'otherKey', 42);
|
||||
@@ -43,4 +49,14 @@ describe('preferences', () => {
|
||||
savePreference(nested, 'modelTier', 'default');
|
||||
expect(loadPreferences(nested).modelTier).toBe('default');
|
||||
});
|
||||
|
||||
it('ignores invalid backendMode values in stored preferences', () => {
|
||||
writeFileSync(
|
||||
resolve(dataDir, 'preferences.json'),
|
||||
JSON.stringify({ modelTier: 'default', backendMode: 'invalid-mode' }),
|
||||
);
|
||||
const prefs = loadPreferences(dataDir);
|
||||
expect(prefs.modelTier).toBe('default');
|
||||
expect(prefs.backendMode).toBeUndefined();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user