#### Test Instructions
Datastore tests are defined in `shared/datastore/test/*.yaml` and are implemented using interfaces defined in `shared/datastore/test/**/*.js` and `controller/drivers/lib/datastore/spec/**/*.rb`.
```bash
# Ruby Datastore tests
cd controller/drivers/lib/datastore
bundle exec rspec -f d spec/**/*.rb
# Javascript Datastore tests
cd shared/datastore/test
mocha test/**/*.js # mocha is a global dependancy
```
The structure of the yaml file may vary from test to test, though a QC process is ongoing. Generally:
```yaml
FILE_NAME:
'#FUNCTION_NAME': # contains an array of objects that represent the test
- label: 'SHOULD be a label using rfc 2119 terminology'
calls: [] # can be plural or singular, and may vary between tests
expectation: [[], {}] # can be plural or singular, and may vary between tests
- label: 'SHOULD be a label using rfc 2119 terminology'
calls: [] # can be plural or singular, and may vary between tests
expectation: [[], {}] # can be plural or singular, and may vary between tests
```