Naughty Program Manipulator

    fpti-tests

    0.0.0 • Public • Published

    fpti-tests

    This package provides a collection of validator/test methods for FPTI-JS (Friendly Public Transport Interface) modules.

    npm version Build Status Greenkeeper badge dependency status license chat on gitter

    Installation

    npm install fpti-tests

    API

    General methods

    These two methods should be used in every package.

    packageJson(pkg)

    Takes the contents of your package's package.json and returns a Promise. Throws if the given package.json is invalid. Will check the version of validate-fptf used by your module.

    const tests = require('fpti-tests')
    const pkg = require('./package.json') // your-package/package.json
     
    const test = async () => {
        await tests.packageJson(pkg) // throws when invalid
    }

    packageExports(module, expectedMethods)

    Takes the module.exports of your module and a list of supported FPTI methods. Throws if expectedMethods doesn't match the module's exports or if the module structure is invalid.

    const tests = require('fpti-tests')
    const module = require('.') // your-package
     
    const test = () => {
        tests.packageExports(module, ['stations.all', 'stops.nearby', 'stopovers']) // throws when invalid
    }

    Feature check methods

    Use those for the FPTI methods exposed by your module: Check if the features object exported by your FPTI methods matches the spec and a given list of expected options.

    Example for the stopovers method:

    const tests = require('fpti-tests')
    const stopoversFeatures = require('.').stopovers.features // your-package
     
    const test = () => {
        tests.stopoversFeatures(stopoversFeatures, ['interval', 'when', 'departureAfter', 'results', 'direction']) // throws when invalid, given a list of expected options
    }

    All methods:

    • stationsAllFeatures(features, expectedList)
    • stationsNearbyFeatures(features, expectedList)
    • stationsSearchFeatures(features, expectedList)
    • stopsAllFeatures(features, expectedList)
    • stopsNearbyFeatures(features, expectedList)
    • stopsSearchFeatures(features, expectedList)
    • regionsAllFeatures(features, expectedList)
    • regionsNearbyFeatures(features, expectedList)
    • regionsSearchFeatures(features, expectedList)
    • stopoversFeatures(features, expectedList)
    • journeysFeatures(features, expectedList)

    Contributing

    If you found a bug or want to propose a feature, feel free to visit the issues page.

    Install

    npm i fpti-tests

    DownloadsWeekly Downloads

    2

    Version

    0.0.0

    License

    ISC

    Unpacked Size

    19.6 kB

    Total Files

    10

    Last publish

    Collaborators

    • juliuste