El RIDO b80ce78e01 updating unit testing README with new requirements for eris library 9 lat temu
..
Data 577031cc1f written unit test to reproduce #149 9 lat temu
Persistence bea9a577a6 Use better random number generator #29 10 lat temu
.gitignore 3d7b35aed4 PSR-2/4 fixes 10 lat temu
.htaccess 535710cdd6 Add htaccess to prevent template access 10 lat temu
Bootstrap.php 6a9f3303dc turning Sjcl test case into property based one, implemented paste generator facility in Helper 9 lat temu
ConfigurationTest.php 1f46823942 applying patch based on StyleCI ruleset 9 lat temu
ConfigurationTestGenerator.php f628ac78f8 Fix style of operator spaces 9 lat temu
FilterTest.php aad162895c turning Filter::slowEquals() test case into property based one 9 lat temu
I18nTest.php a7de0e095b added supported language, updated credits and changelog 9 lat temu
JsonApiTest.php db307c3a77 updated test cases and delete logic to properly implement documented API, thanks @r4sas #188 9 lat temu
ModelTest.php 1f46823942 applying patch based on StyleCI ruleset 9 lat temu
PrivateBinTest.php db307c3a77 updated test cases and delete logic to properly implement documented API, thanks @r4sas #188 9 lat temu
PrivateBinWithDbTest.php 1f46823942 applying patch based on StyleCI ruleset 9 lat temu
README.md b80ce78e01 updating unit testing README with new requirements for eris library 9 lat temu
RequestTest.php 1f46823942 applying patch based on StyleCI ruleset 9 lat temu
SjclTest.php 6a9f3303dc turning Sjcl test case into property based one, implemented paste generator facility in Helper 9 lat temu
ViewTest.php 67f6c4eb61 turned bootstrap template variants into logic 9 lat temu
Vizhash16x16Test.php 79dafd5af4 turning Filter::formatHumanReadableTime() test case into property based one, clarifying the allowed units 9 lat temu
phpunit.xml fdef8bc5be starting to work on JSVerify & Mocha based unit tests for our JS code base 9 lat temu

README.md

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