cufflink
v1.3.0
Published
A command tool to help generate seed data based on your object schema in your applications
Downloads
8
Maintainers
Readme
cufflink
A command tool to help generate seed data based on your object schema in your applications
Cufflink is a simple npm package to help seed data for API tests. Cufflink will seed your databases and create a json file with the results for a consistent way to test your API.
- Describe your data scheme and dependencies through objects
- Add drivers for those objects
- Run following command
$ cufflink create your-object
$ cufflink teardown [optional seeded file path]
Highlights
- Simple CLI
- Determines what order to seed database depending on dependencies
- Fully documented
- Fully unit tested
- Framework-agnostic
System Requirements
You need Node >= 5.0.0
Installation
$ npm install cufflink
Configuration
In order to use Cufflink, your directory structure must follow the specified structure:
root_directory/
objects/
drivers/
The objects
directory will contain the schemas for your objects
Ex:
{
"type": "customer",
"properties": {
"fields": [
{
"name": "id",
"type": "int"
},
{
"name": "customerId",
"type": "int"
}
]
"dependencies": [
"customer"
]
}
}
The drivers
directory will contain the drivers to persist your objects to your databases.
Driver's names should be the same as the associated object
Ex: The cart
object above should have a corresponding cart
driver that resides in the drivers
directory
Using the API
Use the Cufflink API directly in your programs like this:
let cufflink = require('cufflink/api');
cufflink.create('measurement').then((result) => {
cufflink.tearDown(result);
});
Cufflink also has a createSync
feature that doesn't use Promises.
let objects = cufflink.createSync('measurement');
Testing
$ npm test
Contributing
Contributions are welcome and will be fully credited. Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see LICENSE for more information.