# Symulator

{% hint style="info" %}
Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.
{% endhint %}

Dzięki symulatorowi wniosków mamy możliwość otwarcia formularza o zdefiniowanych przez nas parametrach:

* wybranym środowisku,
* identyfikatorze użytkownika,
* specyficznych parametrach wejściowych,
* wybranym kanale: App (RWD), Native, IB inline, IB popup lub w nowej karcie przeglądarki.

W kanale App i Native jest również możliwość wskazania konkretnego urządzenia do symulacji. Dodatkowo dla Native prezentowane są wywołania API na danym wniosku.

## Uruchomienie symulatora wniosków <a href="#symulatorwnioskow-uruchomieniesymulatorawnioskow" id="symulatorwnioskow-uruchomieniesymulatorawnioskow"></a>

Aby uruchomić symulator wniosków, należy wybrać z paska nawigacyjnego Eximee Designer opcję **Symulator**.

### Ustawienie parametrów wejściowych <a href="#symulatorwnioskow-ustawienieparametrowwejsciowych" id="symulatorwnioskow-ustawienieparametrowwejsciowych"></a>

Formularz znajdujący się na górze modułu pozwala uruchomić wniosek z wybranymi parametrami.

1. Przycisk pokazujący/ukrywający formularz parametrów wejściowych.
2. **Środowisko** - środowisko, na którym znajduje się testowany wniosek.
3. **Wniosek** - nazwa testowanego wniosku, w przypadku pustej wartości w symulatorze wyświetlona zostanie lista dostępnych wniosków (dla kanałów App, Native, Nowa Karta) lub domyślny, predefiniowany wniosek (dla kanałów IB inline i IB popup).
4. **Identyfikator użytkownika** - pozwala na wpisanie identyfikatora użytkownika, dla którego zostanie pobrany klucz sesji i dodany do URL w momencie pokazywania symulatora. W przypadku pustego pola klucz nie zostanie pobrany.
5. **Parametry** ścieżki (query parameters) - pole pozwalające zdefiniować parametry, które będą doklejone do ścieżki (np. source=ib).
6. Przycisk **App** - uruchamia symulator w kanale desktop (app).
7. Przycisk **Native** - uruchamia symulator w kanale aplikacji natywnej.
8. Przycisk **IB inline** - uruchamia symulator w kanale IB inline.
9. Przycisk **IB popup** - uruchamia symulator w kanale IB popup.
10. Przycisk **Nowa Karta** - otwiera wniosek na wybranym środowisku w nowej karcie przeglądarki .
11. **Kanał**\* - szata, w jakiej ma zostać uruchomiony wniosek (opcja zależna od konfiguracji).

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2Fl7dy90qH1sqGkVNLcUjG%2Fimage.png?alt=media&#x26;token=00a0be3e-1fa1-4bf5-9f4f-b3846adfd4a1" alt=""><figcaption><p><em><strong>Ilustracja 1.</strong> Właściwości symulatora</em></p></figcaption></figure>

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FvBl5jimHrG5mQfAcxlmS%2Fimage.png?alt=media&#x26;token=3b6b1f7d-50b1-4e99-84ad-d2a471d2763e" alt=""><figcaption><p><em><strong>Ilustracja 2.</strong> Właściwości symulatora z możliwością wyboru kanału</em></p></figcaption></figure>

### Wybór symulowanego urządzenia <a href="#symulatorwnioskow-wyborsymulowanegourzadzenia" id="symulatorwnioskow-wyborsymulowanegourzadzenia"></a>

Po wybraniu kanału uruchomienia wniosku, w lewym dolnym rogu ekranu pojawi się przycisk pozwalający wybrać symulowane urządzenie (12). Zmiana urządzenia powoduje dostosowanie wymiarów wniosku do wymiarów wybranego urządzenia. Domyślnie symulowany jest Tryb Desktop dla kanałów App, IB Inline, IB Popup, natomiast dla kanału Native domyślnie symulowany jest iPhone X.

### Podgląd wywołań API <a href="#symulatorwnioskow-podgladwywolanapi" id="symulatorwnioskow-podgladwywolanapi"></a>

Po wybraniu innego niż desktop kanału uruchomienia wniosku, w prawym dolnym rogu zostanie wyświetlony panel **Wywołania API**. Prezentowane są w nim metody API wywoływane przez symulowaną aplikację. Komponent można zwinąć klikając w pasek tytułowy. Przycisk z ikoną śmietnika na pasku tytułowym pozwala na wyczyszczenie treści komponentu.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FSUR9q8A6JFcv6R7JI37v%2Fimage.png?alt=media&#x26;token=6390e135-dc90-4243-ba6e-1b512a086af7" alt=""><figcaption><p><em><strong>Ilustracja 3.</strong> Ekran wniosku po wybraniu kanału "Native"</em></p></figcaption></figure>

### Konfiguracja <a href="#symulatorwnioskow-konfiguracja" id="symulatorwnioskow-konfiguracja"></a>

Aby skonfigurować działanie symulatora należy przygotować plik w formacie JSON, który zawierać będzie opis dostępnym środowisk, szat i kanałów, w których możliwa będzie symulacja wniosków.

W ustawieniach Eximee Designer powinna znaleźć się ścieżka do pliku konfiguracyjnego, jako wartość parametru **form-starter.configurationPath**, np.:

```
form-starter.configurationPath=/etc/eximee/form-starter.json
```

Przykładowy plik konfiguracyjny:

<details>

<summary>Plik konfiguracyjny</summary>

```
{
  "showChannels": false,
  "channels": [
    {
      "name": "app",
      "formModes": [
        {
          "name": "app",
          "label": "App",
          "icon": "desktop_windows"
        },
        {
          "name": "mobile",
          "label": "Native",
          "icon": "phone_iphone"
        },
        {
          "name": "inline",
          "label": "IB inline",
          "icon": "featured_play_list_outlined"
        },
        {
          "name": "popup",
          "label": "IB popup",
          "icon": "flip_to_front"
        },
        {
          "name": "newTab",
          "label": "Nowa karta",
          "icon": "open_in_new"
        }
      ],
      "defaultChannel": true
    },
    {
      "name": "form",
      "formModes": [
        {
          "name": "app",
          "label": "App",
          "icon": "desktop_windows"
        }
      ]
    }
  ],
  "environments": [
    {
      "displayName": "Dev bank",
      "url": "https://pl.dev.bank.eximee.consdata.local"
    },
    {
      "displayName": "Dev bank CZ",
      "url": "https://cz.dev.bank.eximee.consdata.local"
    },
    {
      "displayName": "Mandarynka",
      "url": "https://pl.mandarynka.eximee.consdata.local"
    },
    {
      "displayName": "Mandarynka RREV",
      "url": "https://pl-rrev.mandarynka.eximee.consdata.local"
    },
    {
      "displayName": "Mandarynka CZ",
      "url": "https://cz.mandarynka.eximee.consdata.local"
    },
    {
      "displayName": "Mandarynka SK",
      "url": "https://sk.mandarynka.eximee.consdata.local"
    }
  ]
}
```

</details>

gdzie:

* **showChannels** - atrybut określający czy symulator powinien prezentować listę rozwijaną z możliwością wyboru szaty
* **channels** - lista dostępnych szat
  * **name** - nazwa szaty
  * **defaultChannel** - czy szata ma być domyślnie zaznaczona / wybrana
  * **formModes** - kanały, w których dostępna jest dana szata
    * **name** - nazwa kanału obsługiwana w Eximee Designer
    * **label** - prezentowana nazwa kanału
    * **icon** - ikona symbolizująca dany kanał
* **environments** - środowiska, na których można uruchomić symulację wniosku
  * **displayName** - wyświetlana nazwa
  * **url** - adres środowiska.


---

# 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://docs.eximee.com/zarzadzanie-aplikacja-biznesowa/testowanie-i-debugowanie-aplikacji/symulator.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.
