2.3 KiB
2.3 KiB
chk.chk_check_insert
Создание новой проверки организаций.
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
p_check_date |
date | да | день (дата) проверки |
p_chk_type_id |
int | да | тип проверки (→ chk.chk_type.id) |
p_chk_status_id |
int | да | статус проверки (→ chk.chk_status.id) |
p_smev_message_id |
text | нет | идентификатор сообщения СМЭВ |
p_rr_organization_id |
text | нет | идентификатор организации РР |
p_params |
text | нет | параметры проверки (JSON); передаётся как text, каст в jsonb внутри (db-m-5) |
p_parent_check_id |
int | нет | родительская проверка (→ chk.chk_check.id) |
Возвращает int — id созданной проверки.
Логика/особенности
- Обязательные параметры проверяются в начале функции: NULL →
RAISE EXCEPTION(db-m-4). p_params— некорректный JSON → исключение приведения типа.
Тесты
| № | Тип | Условие | Ожидаемый результат |
|---|---|---|---|
| 1 | основной сценарий | все поля заполнены (фикстура TEST-) |
id > 0; поля записи совпадают с параметрами |
| 2 | граничный случай | только обязательные параметры | запись создана; необязательные поля NULL |
| 3 | граничный случай | p_params — валидный JSON |
в записи params = переданный JSON |
| 4 | исключение | NULL p_check_date |
исключение «не задан p_check_date» |
| 5 | исключение | NULL p_chk_type_id |
исключение «не задан p_chk_type_id» |
| 6 | исключение | NULL p_chk_status_id |
исключение «не задан p_chk_status_id» |
| 7 | исключение | несуществующий p_chk_type_id |
исключение FOREIGN KEY |
| 8 | исключение | p_params — не JSON ('не-json') |
исключение приведения jsonb |