PrivateBin/tst
2017-02-26 17:03:14 +01:00
..
Data written unit test to reproduce #149 2016-12-25 12:04:47 +01:00
Persistence Use better random number generator #29 2016-08-10 23:15:06 +02:00
.gitignore PSR-2/4 fixes 2016-08-22 16:20:14 +02:00
.htaccess Add htaccess to prevent template access 2016-07-19 14:43:30 +02:00
Bootstrap.php turning Sjcl test case into property based one, implemented paste generator facility in Helper 2017-02-26 16:46:10 +01:00
ConfigurationTest.php applying patch based on StyleCI ruleset 2016-10-29 10:24:08 +02:00
ConfigurationTestGenerator.php Fix style of operator spaces 2016-10-31 11:32:12 +01:00
FilterTest.php turning Filter::slowEquals() test case into property based one 2017-02-26 14:35:01 +01:00
I18nTest.php added supported language, updated credits and changelog 2017-01-10 20:37:14 +01:00
JsonApiTest.php updated test cases and delete logic to properly implement documented API, thanks @r4sas #188 2017-02-22 21:42:14 +01:00
ModelTest.php applying patch based on StyleCI ruleset 2016-10-29 10:24:08 +02:00
phpunit.xml starting to work on JSVerify & Mocha based unit tests for our JS code base 2017-01-29 14:31:44 +01:00
PrivateBinTest.php updated test cases and delete logic to properly implement documented API, thanks @r4sas #188 2017-02-22 21:42:14 +01:00
PrivateBinWithDbTest.php applying patch based on StyleCI ruleset 2016-10-29 10:24:08 +02:00
README.md updating unit testing README with new requirements for eris library 2017-02-26 17:03:14 +01:00
RequestTest.php applying patch based on StyleCI ruleset 2016-10-29 10:24:08 +02:00
SjclTest.php turning Sjcl test case into property based one, implemented paste generator facility in Helper 2017-02-26 16:46:10 +01:00
ViewTest.php turned bootstrap template variants into logic 2017-01-08 10:02:07 +01:00
Vizhash16x16Test.php turning Filter::formatHumanReadableTime() test case into property based one, clarifying the allowed units 2017-02-26 12:47:54 +01:00

Running PHP unit tests

In order to run these tests, you will need to install the following packages and its dependencies:

  • phpunit
  • php-gd
  • php-sqlite3
  • php-curl (optional, for codeclimate test reporter)
  • php-xdebug (optional, for code coverage reports)
  • composer (to install eris property based unit tests)

Example for Debian and Ubuntu:

$ sudo apt install phpunit php-gd php-sqlite php-curl php-xdebug composer
$ cd PrivateBin
$ composer update

To run the tests, just change into this directory and run phpunit:

$ cd PrivateBin/tst
$ phpunit

Running JavaScript unit tests

In order to run these tests, you will need to install the following packages and its dependencies:

  • npm

Then you can use the node package manager to install the latest stable release of mocha and istanbul (for code coverage reports) globally and jsVerify, jsdom and jsdom-global locally:

$ npm install -g mocha istanbul
$ cd PrivateBin/js
$ npm install jsverify jsdom jsdom-global

Example for Debian and Ubuntu, including steps to allow current user to install node modules globally:

$ sudo apt install npm
$ sudo mkdir /usr/local/lib/node_modules
$ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
$ ln -s /usr/bin/nodejs /usr/local/bin/node
$ npm install -g mocha istanbul
$ cd PrivateBin/js
$ npm install jsverify jsdom jsdom-global

To run the tests, just change into the js directory and run istanbul:

$ cd PrivateBin/js
$ istanbul cover _mocha