Skip to content

Commit

Permalink
improved local testing possibilities
Browse files Browse the repository at this point in the history
  • Loading branch information
grasdk committed Oct 26, 2024
1 parent 657f5a9 commit 8dad582
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 1 deletion.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,5 @@ test.*
.DS_Store
/coverage/
.nyc_output/
.vscode*
.vscode*
!test/setup-local.js # Excludes setup.js from the ignore rule
5 changes: 5 additions & 0 deletions .mocharc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
timeout: 20000, // Set timeout to 20 seconds (good for slow test setups)
require: 'test/setup-local.js',
recursive: true, // Run tests in subdirectories
};
31 changes: 31 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,34 @@ Client side:
15. Setting `content` BehaviorSubject (rxjs) with the `ContentWrapperWithError` from the server.
16. Rendering gallery: UI is data binded to the `galleryService.content` [gallery.component.html]

## Running the tests locally
You can run tests in various ways. If you use VS Code, the built-in test explorer is a good way to visualize and run the tests. You can also run tests from the command line.

- Run all tests:

`npx mocha`
- Run all tests in parallel and report with very verbose output (to debug tests that don't run):

`npx mocha --reporter spec --parallel`
- Run a specific test (here the SettingsRouter in the backend):

`npx mocha ./test/backend/integration/routers/admin/SettingsRouter.js`

### MySQL / MariaDB tests
The MySQL / MariaDB tests needs a separate database to be running during the test. If you have docker, you can start one with the required test-settings, using the command below:

`docker run --name pigallery_test -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=pigallery_test -e MYSQL_USER=user -e MYSQL_PASSWORD=password -p3306:3306 -d mariadb:10.3 --log-bin --binlog-format=MIXED`

Start this betfore running the tests in text explorer or the command line, if you want to include the MySQL tests.

Once you're finished with the testing, you can shut down the container again:

`docker stop pigallery_test`

or you can shut it down AND remove it:

`docker stop pigallery_test && docker rm pigallery_test`




0 comments on commit 8dad582

Please sign in to comment.