Thanks for your interest in Foxdriver. We appreicate all kinds of pull requests and love every contributions from anyone.
First clone the project:
$ git clone [email protected]:saucelabs/foxdriver.git
$ cd foxdriver
Make sure you have the suggested Node version installed (check .nvmrc). The easiest way to do so is to install nvm and call:
$ nvm use
within the root directory. Then install the dependencies:
npm install
All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests.
In lieu of a formal styleguide, take care to maintain the existing coding style. Coding style is fully defined in .eslintrc. To check if your changes pass the code style test run:
$ npm run eslint
Every new actor or model should contain inline documentation (jsdoc style) in order to generate the docs for them. There is no explicit procedure for that yet. For now just ensure it is complaint with existing standards.
All tests are located in the /test directory and are run by Jest.
- Every feature should be accompanied by a test
- We enforce 95% test coverage so make sure you test all your branches and functions
- Every public api event/method should be accompanied by a test
- Tests should be hermetic. Tests should not depend on external services.
If you want to run all test call:
$ npm run test:unit:cover
While development you can run these tests every time a change was applied by executing:
npm run test:unit -- --watch