fpti-tests
This package provides a collection of validator/test methods for FPTI-JS (Friendly Public Transport Interface) modules.
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 = const pkg = // your-package/package.json const test = async { await tests // 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 = const module = // your-package const test = { tests // 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 = const stopoversFeatures = stopoversfeatures // your-package const test = { tests // 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.