22 lines
1009 B
TypeScript
22 lines
1009 B
TypeScript
import { describe, expect, it, vi } from 'vitest';
|
|
import { createConfigBackedSubredditPollingControl } from '../src/services/subreddit-polling-control.js';
|
|
import { getTestConfig } from './testUtils.js';
|
|
import { createMockLogger } from './mockLogger.js';
|
|
|
|
describe('config-backed subreddit polling control', () => {
|
|
it('disables and persists only the matched subreddit', () => {
|
|
const config = getTestConfig({ reddit: { subreddits: [{ name: 'gone', type: 'image' }, { name: 'active', type: 'chat' }] } });
|
|
const store = { load: vi.fn(), save: vi.fn() };
|
|
const control = createConfigBackedSubredditPollingControl(config, store, createMockLogger());
|
|
|
|
control.disableUnavailableSubreddit('GONE');
|
|
|
|
expect(config.reddit.subreddits).toEqual([
|
|
expect.objectContaining({ name: 'gone', enabled: false }),
|
|
expect.objectContaining({ name: 'active' }),
|
|
]);
|
|
expect(store.save).toHaveBeenCalledWith(config);
|
|
expect(control.isSubredditEnabled('gone')).toBe(false);
|
|
});
|
|
});
|