# Tests

{% hint style="info" %}
Currently **we are not targeting the 100% test coverage**, but rather want to be certain that the most common scenarios can run without any errors.
{% endhint %}

### Scenarios

These are the scenarios that are currently being tested:

* Create installation, session-server and device server
* Create a new MonetaryAccount
* Create a tab
* Update the tab
* Create attachment and avatar
* Request money from first MA to second MA
* Accept the request
* Make a transaction from first MA to second MA
* Create connect gr code
* Make a payment to another sandbox user
* Send a chat message in a recent payment
* Delete the current session
* Order a card with a second line

Besides these scenarios, some code of ApiContext, ApiClient and the JSON module are also tested.

### Installation

To run the tests, you must first generate a certificate and key. To do this run the following command, but first update "Your App Id" to a unique id.

```csharp
openssl req -x509 -newkey rsa:4096 -keyout BunqSdk.Tests/Resources/key.pem -out BunqSdk.Tests/Resources/chain.cert -days 365 -nodes -subj '/CN=Your App Id/C=NL'
openssl pkcs12 -inkey BunqSdk.Tests/Resources/key.pem -in BunqSdk.Tests/Resources/chain.cert -export -out BunqSdk.Tests/Resources/credentials.pfx -passout pass:secret 
```

### Configuration

To run the tests you must first setup the test configuration JSON. The example of a configuration file is located at [`Tests/BunqSdkCsharpTest/Resources/config.example.json`](https://github.com/bunq/sdk_csharp/blob/develop/BunqSdk.Tests/BunqSdkCsharpTest/Resources/config.example.json). In order to make use of the configuration file, please copy the example to the same directory, fill in your sandbox user data and rename the copy to `config.json`.

### Execution

To run tests via Rider, you can right click on the `BunqSdk.Tests` solution and should be able to run the tests cases form the IDE.


---

# 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://doc.bunq.com/getting-started/tools/unmaintained-software-development-kits-sdks/c/tests.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.
