feat(cli): Improve test runner configuration: update test scripts, reorganize test directories, update dependencies and add local settings for command permissions.

This commit is contained in:
2025-05-15 20:39:03 +00:00
parent d9e0f1f758
commit bac2f852c5
35 changed files with 852 additions and 1279 deletions

View File

@ -0,0 +1,48 @@
import { tap, expect, webhelpers } from '../../ts_tapbundle/index.js';
tap.preTask('custompretask', async () => {
console.log('this is a pretask');
});
tap.test('should have access to webhelpers', async () => {
const myElement = await webhelpers.fixture(webhelpers.html`<div></div>`);
expect(myElement).toBeInstanceOf(HTMLElement);
console.log(myElement);
});
const test1 = tap.test('my first test -> expect true to be true', async () => {
return expect(true).toBeTrue();
});
const test2 = tap.test('my second test', async (tools) => {
await tools.delayFor(50);
});
const test3 = tap.test(
'my third test -> test2 should take longer than test1 and endure at least 1000ms',
async () => {
expect(
(await test1.testPromise).hrtMeasurement.milliSeconds <
(await test2).hrtMeasurement.milliSeconds,
).toBeTrue();
expect((await test2.testPromise).hrtMeasurement.milliSeconds > 10).toBeTrue();
},
);
const test4 = tap.skip.test('my 4th test -> should fail', async (tools) => {
tools.allowFailure();
expect(false).toBeTrue();
});
const test5 = tap.test('my 5th test -> should pass in about 500ms', async (tools) => {
tools.timeout(1000);
await tools.delayFor(500);
});
const test6 = tap.skip.test('my 6th test -> should fail after 1000ms', async (tools) => {
tools.allowFailure();
tools.timeout(1000);
await tools.delayFor(100);
});
await tap.start();

View File

@ -0,0 +1,28 @@
import { tap, expect } from '../../ts_tapbundle/index.js';
import { tapNodeTools } from '../../ts_tapbundle_node/index.js';
tap.test('should execure a command', async () => {
const result = await tapNodeTools.runCommand('ls -la');
expect(result.exitCode).toEqual(0);
});
tap.test('should create a https cert', async () => {
const { key, cert } = await tapNodeTools.createHttpsCert('localhost');
console.log(key);
console.log(cert);
expect(key).toInclude('-----BEGIN RSA PRIVATE KEY-----');
expect(cert).toInclude('-----BEGIN CERTIFICATE-----');
});
tap.test('should create a smartmongo instance', async () => {
const smartmongo = await tapNodeTools.createSmartmongo();
await smartmongo.stop();
});
tap.test('should create a smarts3 instance', async () => {
const smarts3 = await tapNodeTools.createSmarts3();
await smarts3.stop();
});
tap.start();

View File

@ -0,0 +1,5 @@
import { tap, expect, TapWrap } from '../../ts_tapbundle/index.js';
tap.test('should run a test', async () => {});
tap.start();

49
test/tapbundle/test.ts Normal file
View File

@ -0,0 +1,49 @@
import { tap, expect } from '../../ts_tapbundle/index.js';
tap.preTask('hi there', async () => {
console.log('this is a pretask');
});
const test1 = tap.test('my first test -> expect true to be true', async () => {
return expect(true).toBeTrue();
});
const test2 = tap.test('my second test', async (tools) => {
await tools.delayFor(1000);
});
const test3 = tap.test(
'my third test -> test2 should take longer than test1 and endure at least 1000ms',
async () => {
expect(
(await test1.testPromise).hrtMeasurement.milliSeconds <
(await test2).hrtMeasurement.milliSeconds,
).toBeTrue();
expect((await test2.testPromise).hrtMeasurement.milliSeconds > 1000).toBeTrue();
},
);
const test4 = tap.test('my 4th test -> should fail', async (tools) => {
tools.allowFailure();
expect(false).toBeFalse();
return 'hello';
});
const test5 = tap.test('my 5th test -> should pass in about 500ms', async (tools) => {
const test4Result = await test4.testResultPromise;
tools.timeout(1000);
await tools.delayFor(500);
});
const test6 = tap.skip.test('my 6th test -> should fail after 1000ms', async (tools) => {
tools.allowFailure();
tools.timeout(1000);
await tools.delayFor(2000);
});
const test7 = tap.test('my 7th test -> should print a colored string', async (tools) => {
const cs = await tools.coloredString('hello', 'red', 'cyan');
console.log(cs);
});
tap.start();

View File

@ -1,6 +0,0 @@
import { expect, tap } from '@push.rocks/tapbundle';
import * as tstest from '../ts/index.js';
tap.test('prepare test', async () => {});
tap.start();

View File

@ -1,4 +1,4 @@
import { expect, tap } from '@push.rocks/tapbundle';
import { expect, tap } from '../../../ts_tapbundle/index.js';
tap.test('subdirectory test execution', async () => {
console.log('This test verifies subdirectory test discovery works');

View File

@ -1,4 +1,4 @@
import { expect, tap } from '@push.rocks/tapbundle';
import { expect, tap } from '../../ts_tapbundle/index.js';
tap.test('Test with console output', async () => {
console.log('Log message 1 from test');

View File

@ -1,4 +1,4 @@
import { expect, tap } from '@push.rocks/tapbundle';
import { expect, tap } from '../../ts_tapbundle/index.js';
tap.test('This test should fail', async () => {
console.log('This test will fail on purpose');

View File

@ -1,4 +1,4 @@
import { expect, tap } from '@push.rocks/tapbundle';
import { expect, tap } from '../../ts_tapbundle/index.js';
tap.test('Test that will fail with console logs', async () => {
console.log('Starting the test...');

View File

@ -1,4 +1,4 @@
import { expect, tap } from '@push.rocks/tapbundle';
import { expect, tap } from '../../ts_tapbundle/index.js';
tap.test('glob pattern test execution', async () => {
console.log('This test verifies glob pattern execution works');

View File

@ -1,4 +1,4 @@
import { expect, tap } from '@push.rocks/tapbundle';
import { expect, tap } from '../../ts_tapbundle/index.js';
tap.test('single file test execution', async () => {
console.log('This test verifies single file execution works');

6
test/tstest/test.ts Normal file
View File

@ -0,0 +1,6 @@
import { expect, tap } from '../../ts_tapbundle/index.js';
import * as tstest from '../../ts/index.js';
tap.test('prepare test', async () => {});
tap.start();