import { expect, tap } from '@git.zone/tstest/tapbundle'; import * as opendata from '../ts/index.js' import * as paths from '../ts/paths.js'; import * as plugins from '../ts/plugins.js'; import { BusinessRecord } from '../ts/classes.businessrecord.js'; // Test configuration - explicit paths required const testNogitDir = plugins.path.join(paths.packageDir, '.nogit'); const testDownloadDir = plugins.path.join(testNogitDir, 'downloads'); const testGermanBusinessDataDir = plugins.path.join(testNogitDir, 'germanbusinessdata'); const testOutputDir = plugins.path.join(testNogitDir, 'testoutput'); let testOpenDataInstance: opendata.OpenData; tap.test('first test', async () => { testOpenDataInstance = new opendata.OpenData({ nogitDir: testNogitDir, downloadDir: testDownloadDir, germanBusinessDataDir: testGermanBusinessDataDir }); 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); await Promise.all(result.files.map(async (file) => { await file.writeToDir(testOutputDir); })); }); tap.test('should stop the instance', async (toolsArg) => { await testOpenDataInstance.stop(); }); tap.start()