loopback-component-fixtures-syncgateway v0.5.0
loopback-component-fixtures-syncgateway
Notes
This is a couchbase version of JonathanPrince's loopback-component-fixtures. This module is intended to go together with loopback-rest-connector-syncgateway.
Usage
Installation
Install in you loopback project:
npm install --save loopback-component-fixtures-syncgatewayCreate a component-config.json file in your server folder (if you don't already have one)
Configure options inside
component-config.json. (see configuration section){ "loopback-component-fixtures-syncgateway": { "{option}": "{value}" } }Create a folder for storing test fixtures.
The default location is
/server/test-fixtures. This can be set incomponent-config.json(see below)Create
datasources.{env}.jsonfile. This is the datasources definition that will be used depending on the value of NODE_ENV where you want to use fixture data. Example:{ "db": { "name": "db", "connector": "memory" } }
Configuration
Options:
loadFixturesOnStartupBoolean : Defines whether the fixture data should be loaded on startup. (default: false)
errorOnSetupFailureBoolean : Defines whether the API shows/throws an error when fixtures fail to load. (default: false)
If true:
- Bad fixtures loaded on startup will cause the application to fail with an error.
- Bad fixtures loaded via the REST endpoint will return a
500status code and anerrorobject with details about the specific fixture failures.
If false:
- App will continue running (but log an error) if bad fixtures are loaded on startup
- App will return a 200 with no error details if bad fixtures are loaded when calling the fixture setup REST endpoint, but will log an error to the console.
environmentsString/Array : The name(s) of the environment(s) where the fixtures should be used. (default: 'test')
fixturesPathString : The location of of the fixture definitions relative to the project root. (default: '/server/test-fixtures/')
Fixture Files
Fixtures are stored in .json files and should have the same name as the loopback model definitions they correspond to. The content should be either an object (for a single item) or an array of objects for multiple items.
Setup/Teardown Fixtures
Fixtures can be setup at startup by setting loadFixturesOnStartup to true in the component-config file. The fixtures can be setup manually by making a GET request to the endpoint <api-root>/fixtures/setup and a GET request to <api-root>/fixtures/teardown will clear all data.
These actions are also available on the server as app.setupFixtures(callback) and app.teardownFixtures(callback).
9 years ago