agent-ecosystem/test/renderer/store/configSlice.test.ts

45 lines
1.1 KiB
TypeScript

import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { createTestStore, type TestStore } from './storeTestUtils';
vi.mock('../../../src/renderer/api', () => ({
api: {
config: {
get: vi.fn(),
update: vi.fn(),
},
},
}));
vi.mock('../../../src/renderer/sentry', () => ({
syncRendererTelemetry: vi.fn(),
}));
import { api } from '../../../src/renderer/api';
describe('configSlice', () => {
let store: TestStore;
beforeEach(() => {
store = createTestStore();
vi.clearAllMocks();
});
afterEach(() => {
vi.restoreAllMocks();
});
it('rethrows updateConfig failures after storing configError', async () => {
const configApi = api.config;
if (!configApi) {
throw new Error('config api mock is missing');
}
vi.mocked(configApi.update).mockRejectedValue(new Error('update failed'));
await expect(store.getState().updateConfig('general', { theme: 'light' })).rejects.toThrow(
'update failed'
);
expect(store.getState().configError).toBe('update failed');
});
});