@ephesoft/test.assertions
v1.2.0
Published
Test assertions
Downloads
12
Keywords
Readme
README
@ephesoft/test.assertions
Set of test assertions that can make testing code easy and quick
[TOC]
Using the library
Prerequisites
Add the package to your repository:
npm i @ephesoft/test.assertions -d
Using the library
Using deepPattern and executeAndExpectError:
// Import Library
import { deepPattern, executeAndExpectError } from '@ephesoft/test.assertions';
import { AssertionError as ChaiError } from 'chai';
it('should use simple validation if value is null', function () {
executeAndExpectError(
() => {
deepPattern(null, {});
},
ChaiError,
'expected null to equal {}'
);
});
// ...
Using deepPattern with Validators:
// Import Library
import { deepPattern, executeAndExpectError, Validators } from '@ephesoft/test.assertions';
import { AssertionError as ChaiError, expect } from 'chai';
// ...
it('should return false if value is outside of tolerance above the expected value', function () {
// Create Validator
const validator = Validators.near(1, 2);
// Use alone
expect(validator.description).to.equal('near 1 (tolerance: 2)');
expect(validator.validate(3.00001)).to.equal(false);
expect(validator.validate(2)).to.equal(true);
// Use with deepPattern
deepPattern({ prop1: 2 }, { prop1: validator });
// Expect an error with deepPattern
executeAndExpectError(
() => {
deepPattern({ prop1: 7 }, { prop1: validator });
},
ChaiError,
'expected { prop1: 7 } to deeply equal { prop1: \'[near 1 (tolerance: 2)]\' }'
);
});
Setup
Ensure that all dependencies are installed:
npm ci
NPM run targets
Run NPM commands as
npm run command
Available Commands
|Command|Description| |:-|:-| | audit | Executes a dependency audit using the default NPM registry | | audit:fix | Attempts an automatic fix of any audit failures. | | build | Cleans the dist folder and transpiles/webpacks the code | | clean | Deletes the working folders like dist and docs | | clean:docs | Deletes the docs folder | | create:beta | Auto versions the package to the next available beta version. | | docs | Create API documentation for the package in a "docs" folder | | docs:bitbucket | Creates API documentation in Bitbucket markdown format in a "docs" folder | | lint | Performs static analysis on the TypeScript files. | | lint:fix | Performs static analysis on the TypeScript files and attempts to automatically fix errors. | | lint:report | Performs static analysis on the TypeScript files using the default validation rules and logs results to a JSON file. | | pack | Creates a local tarball package | | postbuild| Automatically ran during build. | | postprepare | Automatically ran during package install to setup tooling. | | prebuild | Automatically ran during build. | | start | Instructs the TypeScript compiler to compile the ts files every time a change is detected. | | test | Executes all tests and generates coverage. | | test:coverage | Generates code coverage reports from test data. | | test:unit | Runs the unit tests. | | validate:ga | Validates the package version is valid for GA release. | | validate:beta | Validates the package version is valid for a Beta release. |