diff --git a/public/plugins/tests/chat.test.js b/public/plugins/tests/chat.test.js index 7e9498a..8504c0a 100644 --- a/public/plugins/tests/chat.test.js +++ b/public/plugins/tests/chat.test.js @@ -120,18 +120,22 @@ describe('Chat: API', () => { it('/api/chat/thread-settings round-trips disposable flag', async () => { const peer = '__test_disposable_flip__'; - const initial = await fetch('api/chat/thread-settings?peer=' + encodeURIComponent(peer)) - .then(r => r.json()); - expect(initial.disposable).toBe(0); - const set = await fetch('api/chat/thread-settings', { + const setFlag = (v) => fetch('api/chat/thread-settings', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': csrf() }, - body: JSON.stringify({ peer, disposable: true }), + body: JSON.stringify({ peer, disposable: v }), }).then(r => r.json()); + // Reset from any leftover state (previous runs leave the row + // behind — restore only rolls cards/buckets, not plugin tables). + const reset = await setFlag(false); + expect(reset.disposable).toBe(0); + const set = await setFlag(true); expect(set.disposable).toBe(1); const after = await fetch('api/chat/thread-settings?peer=' + encodeURIComponent(peer)) .then(r => r.json()); expect(after.disposable).toBe(1); + // Leave a clean slate for the next run. + await setFlag(false); }); });