PRININIT / lib /src /dedup.test.js
Rachit-Tw's picture
Upload 199 files
cbc1ce0 verified
Raw
History Blame Contribute Delete
2.64 kB
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const dedup_1 = require("./dedup");
describe('dedup', () => {
beforeEach(async () => {
await (0, dedup_1.clearDedupCache)();
});
describe('isDuplicateIssue', () => {
it('returns false for new issue', async () => {
const result = await (0, dedup_1.isDuplicateIssue)('src/index.ts', 'async', 10, 15, 'Missing await on async call');
expect(result).toBe(false);
});
it('returns true after registering', async () => {
await (0, dedup_1.registerIssue)('src/index.ts', 'async', 10, 15, 'Missing await on async call');
const result = await (0, dedup_1.isDuplicateIssue)('src/index.ts', 'async', 10, 15, 'Missing await on async call');
expect(result).toBe(true);
});
it('returns true for semantic duplicate with weak phrases removed', async () => {
await (0, dedup_1.registerIssue)('src/utils.ts', 'async', 10, 15, 'The function might be missing an await call');
const result = await (0, dedup_1.isDuplicateIssue)('src/utils.ts', 'async', 10, 15, 'Function missing await call');
expect(result).toBe(true);
});
it('does not conflate different types', async () => {
await (0, dedup_1.registerIssue)('src/index.ts', 'async', 20, 25, 'Missing await on async call');
const result = await (0, dedup_1.isDuplicateIssue)('src/index.ts', 'bug', 20, 25, 'Missing await on async call');
expect(result).toBe(false);
});
});
describe('registerIssue', () => {
it('registers exact and semantic keys', async () => {
await (0, dedup_1.registerIssue)('src/utils.ts', 'bug', 1, 5, 'Typo in function name');
const exact = await (0, dedup_1.isDuplicateIssue)('src/utils.ts', 'bug', 1, 5, 'Typo in function name');
expect(exact).toBe(true);
const semantic = await (0, dedup_1.isDuplicateIssue)('src/utils.ts', 'bug', 1, 5, 'There is a possible typo in the function name');
expect(semantic).toBe(true);
});
});
describe('clearDedupCache', () => {
it('clears all entries', async () => {
await (0, dedup_1.registerIssue)('src/index.ts', 'async', 10, 15, 'Missing await on async call');
await (0, dedup_1.clearDedupCache)();
const result = await (0, dedup_1.isDuplicateIssue)('src/index.ts', 'async', 10, 15, 'Missing await on async call');
expect(result).toBe(false);
});
});
});
//# sourceMappingURL=dedup.test.js.map