smartexpect/test/test.ts

53 lines
1.5 KiB
TypeScript
Raw Normal View History

2023-08-12 09:49:27 +02:00
import { tap } from '@push.rocks/tapbundle';
2022-07-24 12:45:29 +02:00
import * as smartexpect from '../ts/index.js';
2022-01-20 22:40:38 +01:00
2022-01-21 03:33:24 +01:00
tap.test('sync tests', async () => {
smartexpect.expect('hello').toBeTypeofString();
smartexpect.expect(1).not.toBeTypeofString();
smartexpect.expect(true).toBeTypeofBoolean();
smartexpect.expect(true).not.toBeTypeofNumber();
});
tap.test('async tests', async (toolsArg) => {
const deferred = toolsArg.defer();
toolsArg.delayFor(4000).then(() => {
deferred.resolve('hello');
});
await smartexpect.expectAsync(deferred.promise).timeout(5000).toBeTypeofString();
await smartexpect.expectAsync(deferred.promise).not.toBeTypeofBoolean();
2022-01-20 22:40:38 +01:00
});
2022-01-21 17:37:30 +01:00
tap.test('should check equality', async () => {
smartexpect.expect('hithere').toEqual('hithere');
smartexpect.expect('hithere').not.toEqual('hithere2');
2022-07-24 12:45:29 +02:00
});
2022-01-21 17:37:30 +01:00
2023-06-22 11:57:29 +02:00
tap.test('should check for regexp matching', async () => {
smartexpect.expect('hithere').toMatch(/hi/);
smartexpect.expect('hithere').not.toMatch(/ho/);
2023-07-10 02:49:04 +02:00
});
2023-06-22 11:57:29 +02:00
2022-02-02 02:45:45 +01:00
tap.test('should correctly state property presence', async () => {
const testObject = {
2022-07-24 12:45:29 +02:00
aprop: 'hello',
2022-02-02 02:45:45 +01:00
};
smartexpect.expect(testObject).toHaveProperty('aprop');
smartexpect.expect(testObject).not.toHaveProperty('aprop2');
});
tap.test('should be greater than', async () => {
smartexpect.expect(4).toBeGreaterThan(3);
smartexpect.expect(4).toBeLessThan(5);
2022-07-24 12:45:29 +02:00
});
2022-02-02 02:45:45 +01:00
2022-02-02 08:02:26 +01:00
tap.test('should correctly determine toContain', async () => {
const hello = {
2022-07-24 12:45:29 +02:00
socool: 'yes',
2022-02-02 08:02:26 +01:00
};
const testArray = [hello];
smartexpect.expect(testArray).toContain(hello);
2022-07-24 12:45:29 +02:00
});
2022-02-02 08:02:26 +01:00
2022-01-20 22:40:38 +01:00
tap.start();