# Testing the frontend

Once you [setup Prophecies from the sources](/prophecies/developers/installation-from-the-sources.md), simply launch Jest with this shortcut:

```sh
make test-front
```

This command triggers the testing process, where `make` is a build automation tool used to manage tasks like compiling the code or running tests, and `test-front` is a target defined within the Makefile.

Upon execution, Jest will begin to run all the specified tests in your test suite. You can monitor the output in your terminal to check the progress of the tests. If all goes well and your code passes all the tests, you should see a success message indicating that everything is working as intended. Any failed tests will be reported accordingly, allowing you to make the necessary adjustments.

### Mock Service Worker

This application utilizes [Mock Service Worker](https://mswjs.io) (MSW) to mock API results from the backend. All server request are defined within handers that you can find [in this directory](https://github.com/ICIJ/prophecies/tree/main/prophecies/apps/frontend/tests/unit/mocks/handlers):

```bash
$ tree prophecies/apps/frontend/tests/unit/mocks/handlers
│
├── action-aggregate.js
├── actions.js
├── choice-groups.js
├── settings.js
├── task-record-media.js
├── task-record-reviews.js
├── task-records.js
├── tasks.js
├── task-user-choice-statistics .js
├── task-user-statistics.js
├── tips.js
├── user-notification.js
└── users.js
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://icij.gitbook.io/prophecies/developers/testing-the-frontend.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
