Reuse status dashboard message and simplify settings actions

This commit is contained in:
Eyejoker
2026-05-02 02:06:20 +09:00
committed by GitHub
parent 7576bcd3ff
commit 490ae7d324
8 changed files with 230 additions and 103 deletions

View File

@@ -0,0 +1,30 @@
import fs from 'fs';
import path from 'path';
import { afterEach, describe, expect, it } from 'vitest';
import { CACHE_DIR } from './config.js';
import {
readDashboardStatusMessageId,
writeDashboardStatusMessageId,
} from './status-dashboard.js';
afterEach(() => {
const messagesDir = path.join(CACHE_DIR, 'status-dashboard', 'messages');
fs.rmSync(path.join(messagesDir, 'test-status-channel.json'), {
force: true,
});
});
describe('dashboard status message id state', () => {
it('persists the tracked Discord status message id across restarts', async () => {
expect(readDashboardStatusMessageId('test-status-channel')).toBeNull();
writeDashboardStatusMessageId('test-status-channel', '1499810000000000000');
expect(readDashboardStatusMessageId('test-status-channel')).toBe(
'1499810000000000000',
);
expect(readDashboardStatusMessageId('other-channel')).toBeNull();
});
});