Shippable Continuous Integration Testing
New Features
Continuous Integration with Shippable
This pull request introduce an integration with Shippable. Shippable is like many other CI services (Travis, CircleCI, etc.). For every pull request, and every subsequent commit Shippable will boot up a virtual machine and run all test cases. It then marks whether or not these tests passed or failed - that is what the green check or red x mean.

A pull request now will only be merged if and when all tests are passing. It must have the "All checks has passed" mark.

This addition not only will make the code more reliable and stable, but it will also greatly improve the chances of getting and validating pull requests from the open source community.
Shippable uses a shippable.yml file to set up the environment and run tests. The current file is quite brief, as it simply loads the correct version of node, creates a mysql environment, and runs jest tests.
language: node_js
node_js:
- 8.8.1
branches:
only:
- master
env:
global:
- DB_USER=shippable
services:
- mysql
build:
ci:
- mysql -e "CREATE USER shippable@localhost IDENTIFIED BY ''; GRANT ALL ON *.* TO shippable@localhost; FLUSH PRIVILEGES;"
- mysql -e 'create database nowplaying;'
- mysql -e 'source ./tables.sql'
- shippable_retry npm install
- npm run shippable-test
The only thing of interest happening here is we start a mysql server and during the build we create a user shippable@localhost, create the database nowplaying, and lastly load the database with empty tables found in the tables.sql file. Now the shippable build has an empty local mysql server to run tests against.
There is only one test case now that covers initializing the bot and connecting to the local mysql instance. Tests will be added additionally in subsequent PRs
Now Playing
Check out the #nowplaying community and bot in action here
Posted on Utopian.io - Rewarding Open Source Contributors

Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Hey @vladimir-simovic, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!
Hey @walnut1 I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x