Files
peardata/test/bookmarks.test.js
T
Raven Scott a7648dc090
CI / test (push) Successful in 1m1s
Release rolling / release (push) Successful in 6m59s
Updates
2026-07-18 20:32:05 -04:00

42 lines
1.1 KiB
JavaScript

import test from 'brittle'
import fs from 'fs'
import path from 'path'
import os from 'os'
import {
loadBookmarks,
upsertBookmark,
removeBookmark,
setBookmarkAlias,
} from '../client/bookmarks.js'
import { getPeersCachePath } from '../client/peerCache.js'
test('bookmarks upsert alias remove', (t) => {
const prev = process.env.PEARDATA_HOME
const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'peardata-bm-'))
process.env.PEARDATA_HOME = tmp
try {
t.ok(getPeersCachePath().includes(path.join('cache', 'peers.json')))
const pk = 'a'.repeat(64)
upsertBookmark({ publicKeyHex: pk, alias: 'box-1' })
let list = loadBookmarks()
t.is(list.length, 1)
t.is(list[0].alias, 'box-1')
setBookmarkAlias(pk, 'box-2')
list = loadBookmarks()
t.is(list[0].alias, 'box-2')
removeBookmark(pk)
t.is(loadBookmarks().length, 0)
} finally {
if (prev === undefined) delete process.env.PEARDATA_HOME
else process.env.PEARDATA_HOME = prev
try {
fs.rmSync(tmp, { recursive: true, force: true })
} catch {
// ignore
}
}
})