Skip to content

Latest commit

 

History

History
56 lines (52 loc) · 2.39 KB

TODO.md

File metadata and controls

56 lines (52 loc) · 2.39 KB

rooibos

Async testing framework

TODO:

  • Core API
  • User API
  • Reorganise types into separate files
  • Standardise type name order - i.e. WhatItIs_WhatItsFor (validate it will do a better job)
  • Move description outside of State?
  • Create timeout and abort extensions to Error
  • Use new Error types
  • Extend context to include user options
  • Replace note implementation with standard stepCallback
  • Move note reporting to avoid incorrect timeouts
  • Trial notes with data that has a .then value
  • Throw exception for invalid data? (i.e., not JSON)
  • Add context to custom errors
  • Add timeouts for notes
  • Remove description from Event
  • Test note timeouts
  • Test it timeouts
  • Test hook timeouts
  • Validate ErrorTimeout context
  • Add tests for abort api
  • Move before/after blocks to the appropriate location? (yes they are)
  • Fix constructor and add 'start' method
  • Add tests for using await vs no await
  • Validate ErrorAbort context
  • Validate ErrorNotJson context
  • Filter keys in UserOptions/Context to only valid options (hide internal workings)
  • Rename variables to match new type names
  • Reorder methods
  • Freeze context (aside from .data)
  • Finish test cases for remaining user API
  • Test and correct nesting things in hooks/notes (i.e. make sure they chain off of the correct state... what /is/ the correct state?)
  • Create bin scripts
  • Move exception out of Event and into Context? - may be useful for children? will cause circular dependency since exceptions contain context
  • Add .only semantics - should filter just it blocks. Check what mocha does for mixing describe and it blocks
  • Add tag API
  • Add documentation
  • Release advance-promise library
  • Release this library
  • Determine how to handle standard output/error output capture

.only semantics

  • Commandline or Configuration filter (command line overrides configuration)
  • Filter only filters it blocks

CLI

  • Specify reporter as
    1. A named standard reporter
    2. A script which exports a Reporter as a Default which inherits from the reporter base?
  • Specify root scripts which are run in the global context rather than their own individual script block
  • Specify scripts which are each run within their own script block
  • Script name is given relative to the configuration file dirname, or the cwd