Detalhes do pacote

@ephesoft/test.assertions

ephesoft16MIT1.2.0

Test assertions

readme (leia-me)

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.