mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 07:52:24 +00:00
Added focused unit tests for `getActiveKey` in `js/nostr/utils.js` to improve test coverage. This module was identified as having 0% coverage. The new tests cover all branches: - ROOT key generation - pubkey:d key generation - LEGACY key fallback - Handling of missing/empty tags Artifacts: - tests/nostr/utils.test.mjs - docs/agents/task-logs/weekly/2026-02-25_test-coverage-agent_completed.md Co-authored-by: PR0M3TH3AN <[email protected]>
63 lines
1.7 KiB
JavaScript
63 lines
1.7 KiB
JavaScript
/**
|
|
* @file tests/nostr/utils.test.mjs
|
|
* @description Unit tests for js/nostr/utils.js
|
|
*/
|
|
|
|
import { test, describe } from 'node:test';
|
|
import assert from 'node:assert';
|
|
import { getActiveKey } from '../../js/nostr/utils.js';
|
|
|
|
describe('js/nostr/utils.js', () => {
|
|
describe('getActiveKey', () => {
|
|
test('returns ROOT key when videoRootId is present', () => {
|
|
const video = {
|
|
videoRootId: 'root-123',
|
|
id: 'note-456',
|
|
pubkey: 'pk1',
|
|
tags: [['d', 'd-tag-val']]
|
|
};
|
|
const key = getActiveKey(video);
|
|
assert.strictEqual(key, 'ROOT:root-123');
|
|
});
|
|
|
|
test('returns pubkey:d key when videoRootId is missing but d-tag exists', () => {
|
|
const video = {
|
|
id: 'note-456',
|
|
pubkey: 'pk1',
|
|
tags: [['d', 'd-tag-val']]
|
|
};
|
|
const key = getActiveKey(video);
|
|
assert.strictEqual(key, 'pk1:d-tag-val');
|
|
});
|
|
|
|
test('returns LEGACY key when videoRootId and d-tag are missing', () => {
|
|
const video = {
|
|
id: 'note-456',
|
|
pubkey: 'pk1',
|
|
tags: [['t', 'hashtag']]
|
|
};
|
|
const key = getActiveKey(video);
|
|
assert.strictEqual(key, 'LEGACY:note-456');
|
|
});
|
|
|
|
test('handles missing tags array gracefully (returns LEGACY)', () => {
|
|
const video = {
|
|
id: 'note-789',
|
|
pubkey: 'pk2'
|
|
};
|
|
const key = getActiveKey(video);
|
|
assert.strictEqual(key, 'LEGACY:note-789');
|
|
});
|
|
|
|
test('handles empty tags array gracefully (returns LEGACY)', () => {
|
|
const video = {
|
|
id: 'note-789',
|
|
pubkey: 'pk2',
|
|
tags: []
|
|
};
|
|
const key = getActiveKey(video);
|
|
assert.strictEqual(key, 'LEGACY:note-789');
|
|
});
|
|
});
|
|
});
|