61 lines
1.8 KiB
TypeScript
61 lines
1.8 KiB
TypeScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
|
|
import { deleteCommentViaDolt, updateCommentViaDolt } from '../../src/lib/read-interactions';
|
|
|
|
const validRoot = 'C:/Users/test/project/beadboard';
|
|
|
|
test('updateCommentViaDolt validates projectRoot', async () => {
|
|
await assert.rejects(
|
|
async () => updateCommentViaDolt('', 1, 'hello'),
|
|
(error: unknown) => {
|
|
assert.equal(error instanceof Error, true);
|
|
assert.equal((error as Error).message, 'projectRoot is required.');
|
|
return true;
|
|
},
|
|
);
|
|
});
|
|
|
|
test('updateCommentViaDolt validates commentId', async () => {
|
|
await assert.rejects(
|
|
async () => updateCommentViaDolt(validRoot, 0, 'hello'),
|
|
(error: unknown) => {
|
|
assert.equal(error instanceof Error, true);
|
|
assert.equal((error as Error).message, 'commentId must be a positive integer.');
|
|
return true;
|
|
},
|
|
);
|
|
});
|
|
|
|
test('updateCommentViaDolt validates text', async () => {
|
|
await assert.rejects(
|
|
async () => updateCommentViaDolt(validRoot, 10, ' '),
|
|
(error: unknown) => {
|
|
assert.equal(error instanceof Error, true);
|
|
assert.equal((error as Error).message, 'text is required.');
|
|
return true;
|
|
},
|
|
);
|
|
});
|
|
|
|
test('deleteCommentViaDolt validates projectRoot', async () => {
|
|
await assert.rejects(
|
|
async () => deleteCommentViaDolt(' ', 10),
|
|
(error: unknown) => {
|
|
assert.equal(error instanceof Error, true);
|
|
assert.equal((error as Error).message, 'projectRoot is required.');
|
|
return true;
|
|
},
|
|
);
|
|
});
|
|
|
|
test('deleteCommentViaDolt validates commentId', async () => {
|
|
await assert.rejects(
|
|
async () => deleteCommentViaDolt(validRoot, -1),
|
|
(error: unknown) => {
|
|
assert.equal(error instanceof Error, true);
|
|
assert.equal((error as Error).message, 'commentId must be a positive integer.');
|
|
return true;
|
|
},
|
|
);
|
|
});
|