# Приложение в тестовом окружении

## Аккаунты на тестинге

Есть несколько аккаунтов, которыми можно воспользоваться для тестирования локально, на бетах или на тестовых окружениях. При создании новых аккаунтов необходимо пополнять таблицу.

|  №  |               login                | password  | организация, к которой привязан |      PUID       |         ФИО         |                                                                erp_id                                                                 |                          комментарий                          |
| :-: | :--------------------------------: | :-------: | :-----------------------------: | :-------------: | :-----------------: | :-----------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------: |
|  1  |        yndx-ydo-employee-1         | te\$tY%do |     Группа функциональности     |   1440750585    |    Антон Антонов    |     [админка](https://ydo-admin-dev.yandex-team.ru/uslugi-admin/zakazator?partner_worker_id=62b89b6d-d50a-42b2-a558-5ac6b67cd380)     |
|  2  |        yndx-ydo-employee-2         | te\$tY%do |       ООО Virgin Cleaning       |   1440751041    | Анализатор Анализов |                                                                                                                                       |
|  3  |        yndx-ydo-employee-3         | te\$tY%do |     Группа функциональности     |   1440751628    |     Петр Петров     |                                                                                                                                       |                         заблокирован                          |
|  4  |        yndx-ydo-employee-4         | te\$tY%do |      testpartnerwallpaper       |   1455418527    |     Test Worker     |     [админка](https://ydo-admin-dev.yandex-team.ru/uslugi-admin/zakazator?partner_worker_id=9df4c03a-b2e4-4f00-bd95-3183045746b9)     |
|  5  |        yndx-ydo-employee-5         | te\$tY%do |          Быстрые Ёжики          |   1456303211    |      Юдзи Ника      |     [админка](https://ydo-admin-dev.yandex-team.ru/uslugi-admin/zakazator?partner_worker_id=7e4b7f31-93f9-4c62-90c8-42c502fa3d14)     |
|  6  |        yndx-ydo-employee-6         | te\$tY%do |        Быстрее чем Ёжики        |   1458469367    |  Ясухара Хирокадзу  |     [админка](https://ydo-admin-dev.yandex-team.ru/uslugi-admin/zakazator?partner_worker_id=0ac983cf-6173-4244-8246-1a65d648ee5a)     |                         заблокирован                          |
|  7  |        yndx-ydo-employee-7         | te\$tY%do |       Супер быстрые Ёжики       |   1459278378    |                     |                                                                                                                                       |
|  8  |        yndx-ydo-employee-8         | te\$tY%do |   Тестовая Орга Тестировщиков   |   1462198377    | Мария Не все слоты  |     [админка](https://ydo-admin-dev.yandex-team.ru/uslugi-admin/zakazator?partner_worker_id=2a2b0ce3-e405-46fb-8780-50ee54a8cbc0)     |
|  9  |        yndx-ydo-employee-9         | te\$tY%do |         Lawa Powerhouse         |   1475469783    |      Эми Роуз       |     [админка](https://ydo-admin-dev.yandex-team.ru/uslugi-admin/zakazator?partner_worker_id=8c39cb14-23f3-48fd-903e-37303f4bb19b)     |
| 10  |        yndx-ydo-employee-10        | te\$tY%do |       ООО Virgin Cleaning       |   1482630614    |  Ксения Лукьянова   |     [админка](https://ydo-admin-dev.yandex-team.ru/uslugi-admin/zakazator?partner_worker_id=d4d70993-bde8-4474-a895-0ee2178fefb8)     |
| 11  |        yndx-ydo-employee-11        | te\$tY%do |      testpartnerwallpaper       |   1494838798    |    Test2 Worker2    |          [админка](https://ydo-admin-dev.yandex-team.ru/uslugi-admin/zakazator?draft=0&partner_worker_name=Test2%20Worker2)           |
| 12  |        yndx-ydo-employee-12        | te\$tY%do |           Чёрный Кот            |   1501287070    |     Мистер Кот      | [админка](https://ydo-admin-dev.yandex-team.ru/uslugi-admin/zakazator?draft=0&partner_worker_id=7a753297-3f91-4ca8-89f7-c4e869330514) |
| 13  |        yndx-ydo-employee-13        | te\$tY%do |           Чёрный Кот            |   1504888205    |    Вин Дроссель     |                                                                                                                                       |
| 14  |      yndx-ydo-employee-voda-1      | te\$tY%do |            Крысолов             |   1530832829    |    Кураж Бамбей     |                                                                                                                                       |
| 15  |     yndx-ydo-erp-vodovoz-empl      | te\$tY%do |             Водовоз             |   1495810288    |                     |                                                                                                                                       |
| 16  |       yndx-ydo-employee-dry1       | te\$tY%do |        Курьеры Химчистки        |  Курьер Первый  |                     |                                                                                                                                       |        Химчистка, телефон - реальный номер leonidovaes        |
| 17  |      yndx-ydo-employee-med-1       | te\$tY%do |         ООО Мед Анализы         |   1573221527    |    Мария Иванова    |                                                                                                                                       |
| 18  |      yndx-ydo-employee-voda-2      | te\$tY%do |              ECorp              |   1637769501    |   Водовоз Екорпов   |                                                                                                                                       | nearest_order Флоу Воды, телефон - реальный номер leonidovaes |
| 19  | yndx-ydo-employee-voda-3@yandex.ru | te\$tY%do |              ECorp              | Вещевоз Екорпов |                     |                                                                                                                                       |             телефон - реальный номер leonidovaes              |

[Вики Таблица](https://wiki.yandex-team.ru/users/klimovaksyu/testirovanie-uslug/akkaunty-dlja-testirovanija/#testirovanieappaispolniteljanatestinge)

## Завести новый аккаунт на тестинге

1. Завести акк в паспорте. Для тестовых исполнителей используем префикс `yndx-ydo-employee-`. Для регистрации потребуется номер телефона, можно использовтаь реальный или уточнить у команды QA тестовый номер.
2. Создать профиль для этого исполнителя в ЕРП, или использовать уже имеющийся в ЕРП профиль, не имеющий привязки приложения. При использовании уже имеющегося исполнителя лучше отправить ссылку еще раз, т.к. ссылки протухают.
3. Получить через [yql](https://yql.yandex-team.ru/Operations/YZ-QU1Z1O6_dbKKdn218OyPeCqvbBDRPvth5BmUvzHo=) по номеру телефона (из п.2) `link_key` (искать строчку с `text_info` `"finish_registration"` и взять ссылку вида `https://ya.cc/t/QwH12sSj3247r6`).
4. Перейти по ссылке из п.3 (откроется прод с ошибкой Страница не найдена и это ок), нужно скопировать `link_key`
5. Зайти на тестинге под нужным аккаунтом (п.2). Поставить ссылку `https://shared-dev.hamster.yandex.ru/uslugi/employee/start?link_key=<значение из п.4>` и перейти по ней.
6. Подписать исполнителя в указанную орагнизацию
7. Записать логин, пароль и остальную информацию в таблицу аккаунтов, чтобы им могли воспользоваться коллеги.

##  Тестирование и разработка

Изменения можно смотреть в приложении для исполнителей "Яндекс Услуги для мастеров",  на устройствах в колхозе и в эмуляторе

### Для тестирования в приложении надо:

Приложение для исполнителей "Яндекс Услуги для мастеров" можно скачать из соотвествующего стора ([Google play](https://play.google.com/store/apps/details?id=com.yandex.uslugi) / [App Store](https://apps.apple.com/ru/app/яндекс-услуги/id1537579597))

**Сборки для iOS** можно также скачать через [beta.m.soft.](https://beta.m.soft.yandex.ru/servicesclients) или спросить у [Алексея Нежельского](https://staff.yandex-team.ru/a-nezhelskoy) 
[Подробнее о тестовых сборках iOS](https://wiki.yandex-team.ru/ydo/mobile/ios-debugmenu/#prosborki)

Про **тестовые сборки для Android** можно спросить у [Николая Коломейцева](https://staff.yandex-team.ru/nykolom)

Чтобы протестировать прямо в приложении исполнителя, можно "залипнуть" в эксперимент по `test-id`, который можно взять в пулл реквесте.
Для этого нужный `test-id` указать в кнопке с жуком, в разделе Эксперименты.

### Для тестирования в эмуляторе надо:
- Скачать Android studio, завести девайс, запустить его и перетащить на него сборку 

### Для тестирования на Колхозе надо:
- Открыть [Колхоз](https://kolhoz.yandex-team.ru) и забронировать устройство, поддерживающее прокси ([iOs](https://kolhoz.yandex-team.ru/ios?filters=on&action=&features=LOCAL_PROXY_ACCESS) / [Android](https://kolhoz.yandex-team.ru/android?filters=on&action=&features=LOCAL_PROXY_ACCESS))
- В меню слева включить функцию Прокси/Сниффер.
- В приложении Farm Local Proxy включить прокси для выбранного устройства. Если нет приложения - его необходимо установить по ссылке из меню справа.
- На устройстве залогиниться под необходимого пользователя и открыть бету 
- После завершения работы не забыть разлогиниться из тестового пользователя и отпустить устройство

Чтобы протестировать **бету из PR**, можно "залипнуть" в эксперимент по `test-id`, который можно взять в пулл реквесте. Для этого нужный `test-id` указать в кнопке с жуком, в разделе Эксперименты. Для использования тестовых исполнителей и заказов нужно также переключить граф.

Чтобы потестировать **локальную бету** нужно:
- Поднять публичную бету `npm run start:public`. В консоли будет выведен url публичной беты
- В приложении/эмуляторе в настройках разработчика указать в `start_url` бету
- Переключиться на тестовый граф
- Далее зайти под аккаунтом исполнителя на тестинге

Чтобы переключиться на **тестовый граф** , чтобы приложение смотрело на тестинг, а не на прод, нужно:
- Открыть меню по кнопке с черно-белым логотипом услуг
- Переключиться на таб `UslugiApp`
- Нажать кнопку `Добавить srcrwr=APPHOST` в блоке Тестовый граф

## User Agent для браузерного тестирования

Для того, чтобы фронтенд\бекенд мог узнать, что верстка\запросы происходит в мобаппе - мы на стороне мобаппа редактируем user agent.

Формируется он по следующим правилам:
К основному юзер агенту добавляем следующие компоненты.
<[`ПлатформенныйUA`/`ВерсияПриложения` + `ТипПриложения`/`ВерсияПриложения` **BuildVersion**/`ВерсияБилда`]>

- User-Agent IOS

```
Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 iOSAppUslugi/6272.0.0 UslugiWorkers/6272.0.0 BuildVersion/22129
```

- User-Agent Android

```
Mozilla/5.0 (Linux; Android 7.1.1; Moto Play Build/HZS39.71-89) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36 AndroidAppUslugi/6272.0.0 UslugiWorkers/6272.0.0 BuildVersion/22129
```

**Подробнее:**
`ПлатформенныйUA` - строка:
или `iOSAppUslugi` - для iOS приложения
или `AndroidAppUslugi` - для Android приложения.
`ТипПриложения` - строка:
или `UslugiClients` - для приложение заказчиков
или `UslugiWorkers` - для приложения исполнителей
`Версияприложения` - строка в формате `major.minor.patch` , например 6272.0.0 ( кажется в старых мобаппах могло быть до 4 точек.
`ВерсияБилда` - целочисленная строка, например 22129 .

[Подробнее + FAQ](https://wiki.yandex-team.ru/ydo/mobile/user-agents/)
