Testing records in Who's On First
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
node_modules/colors
output
test_files
test_runs
utils
.gitignore
README.md
app.js
langs.js
package.json
property_types.json

README.md

whosonfirst-tests

Testing known-knowns and properties in Who's On First records.

2017-05-12: This document should be considered a work-in-progress

Types of tests

Validating known-knowns in Who's On First

  • test_belongsto.js: A routine test to verify wof:belongsto properties.

    • This test envokes a list of wof:id values and the known values in that record's wof:belongsto property. This test should be run locally when updating and rebuilding hierarchies to verify that no values are being stripped out of the wof:belongsto property.
  • test_isparent.js: A routine test to verify wof:parent_id properties.

    • This test envokes a list of wof:id values and the known values in that record's wof:parent_id property. This test should be run locally when updating records to verify that no records are incorrectly given a new wof:parent_id value.

Testing Who's On First properties

  • test_lang_names.js: A test to ensure a record or set of records has a name:eng_x_preferred property.

    • This test can be used as a one-off to verify a record has a specified property. As it stands, this test checks for the name:eng_x_preferred property, but can be configured to check of other properties.
  • test_official_lang_names.js: A test to ensure a record or set of records has a wof:lang property, as well as a name:[lang]_x_preferred property for the wof:lang value.

    • This test checks for two separate things in a Who's On First record:
      • Verifies that a wof:lang property exists and returns the value of that property.
      • Verifies that a record also has a name:[lang]_x_preferred property, where [lang] is equal to the value of the wof:lang property.
  • test_superseded_by.js: A test to validate records' wof:superseded_by and wof:superseded properties, by doing the following:

    • Checks that a record's (record A) wof:superseded_by value matches the wof:id of an existing record (record B).
    • If so, checks that record B's wof:supersedes property value matches record A's wof:id value.
  • wk_mismatch: (in folder) A test to validate records' wk:* properties, by doing the following:

    • Checks that a record's wk:latitude and wk:longitude values fall within it's parent's geometry.

See also

https://github.com/whosonfirst

https://github.com/whosonfirst/whosonfirst-json-schema

https://github.com/whosonfirst/py-mapzen-whosonfirst-validator

https://github.com/whosonfirst/whosonfirst-www-boundaryissues