Have ideas to improve npm?Join in the discussion! »

    @bbc/psammead-test-helpers

    6.0.4 • Public • Published

    psammead-test-helpers - Known Vulnerabilities Dependency Status peerDependencies Status GitHub license npm version PRs Welcome

    This package provides a collection of helper methods for implementing Jest snapshot tests, required by many Psammead components.

    Exported Functions

    Name Arguments Description
    shouldMatchSnapshot title, component Renders the component using @testing-library/react, converts it to JSON and asserts that it matches the given snapshot, which will be saved in the __snapshots__ directory. The first argument title is the title for the test.
    matchSnapshotAsync component Renders the component using @testing-library/react, converts it to JSON and asserts that it matches the given snapshot, which will be saved in the __snapshots__ directory. Unlike shouldMatchSnapshot, it does not create a test, so can be used within any it(...) test.
    isNull title, component Renders the component using @testing-library/react, converts it to JSON and asserts that it is null. The first argument title is the title for the test.
    testUtilityPackages actualExports, expectedExports, utilityName Validates an imported utility package's exported values against an object of key-value pairs in the form { name_of_export: 'type of export' }, e.g. { shouldMatchSnapshot: 'function' }.
    setWindowValue key, value Allows you to set variables on the window (eg. location) that are normally not writable
    resetWindowValue key, value Allows you to reset the WindowValues that are previously overwritten by the setWindowValue function
    suppressPropWarnings warnings Suppresses predicted prop warnings during tests.

    Installation

    npm install react react-dom @bbc/psammead-test-helpers --save-dev

    Usage

    import { shouldMatchSnapshot } from '@bbc/psammead-test-helpers';
    
    shouldMatchSnapshot('should render correctly', <h1>Hello World</h1>);

    Roadmap

    Contributing

    When adding a new export to this utility package the export tests also need to be updated and the export should be adding to the README. When removing an exisiting export from this utility package the export tests need to be updated, the export should be removed from the README and the package version requires a major change (EG: 1.2.1 -> 2.0.0) as this would be considered a breaking change due to functionality being removed.

    Psammead is completely open source. We are grateful for any contributions, whether they be new components, bug fixes or general improvements. Please see our primary contributing guide which can be found at the root of the Psammead respository.

    Code of Conduct

    We welcome feedback and help on this work. By participating in this project, you agree to abide by the code of conduct. Please take a moment to read it.

    License

    Psammead is Apache 2.0 licensed.

    Install

    npm i @bbc/psammead-test-helpers

    DownloadsWeekly Downloads

    549

    Version

    6.0.4

    License

    Apache-2.0

    Unpacked Size

    30.7 kB

    Total Files

    8

    Last publish

    Collaborators

    • avatar