fix(tests & jsonl): Improve test structure and refine JSONL parsing for incomplete data

This commit is contained in:
Philipp Kunz 2025-04-08 15:31:29 +00:00
parent c6964f0310
commit 4030bef7a8
5 changed files with 52 additions and 26 deletions

View File

@ -1,5 +1,11 @@
# Changelog # Changelog
## 2025-04-08 - 1.4.6 - fix(tests & jsonl)
Improve test structure and refine JSONL parsing for incomplete data
- Refactored test files to remove redundant get-specific-company tests in test.ts and added missing tests in test.handelsregister.ts
- Updated JSONL data processor to conditionally parse remaining data when available
## 2025-04-05 - 1.4.5 - fix(metadata) ## 2025-04-05 - 1.4.5 - fix(metadata)
Update repository, bugs, and homepage URLs to code.foss.global Update repository, bugs, and homepage URLs to code.foss.global

View File

@ -0,0 +1,42 @@
import { expect, expectAsync, tap } from '@push.rocks/tapbundle';
import * as opendata from '../ts/index.js'
import { BusinessRecord } from '../ts/classes.businessrecord.js';
let testOpenDataInstance: opendata.OpenData;
tap.test('first test', async () => {
testOpenDataInstance = new opendata.OpenData();
expect(testOpenDataInstance).toBeInstanceOf(opendata.OpenData);
});
tap.test('should start the instance', async () => {
await testOpenDataInstance.start();
});
const resultsSearch = tap.test('should get the data for a company', async () => {
const result = await testOpenDataInstance.handelsregister.searchCompany('LADR', 20);
console.log(result);
return result;
});
tap.test('should get the data for a specific company', async () => {
let testCompany: BusinessRecord['data']['germanParsedRegistration'] = (await resultsSearch.testResultPromise)[0]['germanParsedRegistration'];
console.log(`trying to find specific company with:`);
console.log(testCompany);
const result = await testOpenDataInstance.handelsregister.getSpecificCompany(testCompany);
console.log(result);
result.files.map(async (file) => {
await file.writeToDir('./.nogit/testoutput');
});
});
tap.test('should stop the instance', async () => {
await testOpenDataInstance.stop();
});
tap.start()

View File

@ -1,7 +1,4 @@
import { expect, expectAsync, tap } from '@push.rocks/tapbundle'; import { expect, expectAsync, tap } from '@push.rocks/tapbundle';
import { tapNodeTools } from '@push.rocks/tapbundle/node';
import * as opendata from '../ts/index.js' import * as opendata from '../ts/index.js'
import { BusinessRecord } from '../ts/classes.businessrecord.js'; import { BusinessRecord } from '../ts/classes.businessrecord.js';
@ -21,26 +18,6 @@ tap.test('should build initial data', async () => {
await testOpenDataInstance.buildInitialDb(); await testOpenDataInstance.buildInitialDb();
}); });
const resultsSearch = tap.test('should get the data for a company', async () => {
const result = await testOpenDataInstance.handelsregister.searchCompany('LADR', 20);
console.log(result);
return result;
});
tap.test('should get the data for a specific company', async () => {
let testCompany: BusinessRecord['data']['germanParsedRegistration'] = (await resultsSearch.testResultPromise)[7]['germanParsedRegistration'];
console.log(`trying to find specific company with:`);
console.log(testCompany);
const result = await testOpenDataInstance.handelsregister.getSpecificCompany(testCompany);
console.log(result);
result.files.map(async (file) => {
await file.writeToDir('./.nogit/testoutput');
});
});
tap.test('should stop the instance', async () => { tap.test('should stop the instance', async () => {
await testOpenDataInstance.stop(); await testOpenDataInstance.stop();
}); });

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@fin.cx/opendata', name: '@fin.cx/opendata',
version: '1.4.5', version: '1.4.6',
description: 'A TypeScript library for accessing, managing, and updating open business data, focused on German companies and integrating with MongoDB.' description: 'A TypeScript library for accessing, managing, and updating open business data, focused on German companies and integrating with MongoDB.'
} }

View File

@ -96,8 +96,9 @@ export class JsonlDataProcessor<T> {
}, },
finalFunction: async (streamToolsArg) => { finalFunction: async (streamToolsArg) => {
console.log(`finished processing ${totalRecordsCounter} records.`); console.log(`finished processing ${totalRecordsCounter} records.`);
if (!nextRest) return; if (nextRest) {
JSON.parse(nextRest); JSON.parse(nextRest);
};
done.resolve(); done.resolve();
}, },
}) })