1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-12 04:34:10 +02:00

YAX: тесты для Telegram API

This commit is contained in:
Anton 2024-02-07 21:40:07 +03:00
parent 9e27f8eafa
commit e5971481c7
2 changed files with 601 additions and 469 deletions

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,12 @@
.ДобавитьСерверныйТест("Телеграм_ОтправитьВидео" , "Отправить видео")
.ДобавитьСерверныйТест("Телеграм_ОтправитьАудио" , "Отправить аудио")
.ДобавитьСерверныйТест("Телеграм_ОтправитьДокумент" , "Отправить документ")
.ДобавитьСерверныйТест("Телеграм_ОтправитьГифку" , "Отправить гифку");
.ДобавитьСерверныйТест("Телеграм_ОтправитьГифку" , "Отправить гифку")
.ДобавитьСерверныйТест("Телеграм_ОтправитьМедиагруппу" , "Отправить медиагруппу")
.ДобавитьСерверныйТест("Телеграм_ОтправитьМестоположение" , "Отправить местоположение")
.ДобавитьСерверныйТест("Телеграм_ОтправитьКонтакт" , "Отправить контакт")
.ДобавитьСерверныйТест("Телеграм_ОтправитьОпрос" , "Отправить опрос")
.ДобавитьСерверныйТест("Телеграм_ПереслатьСообщение" , "Переслать сообщение");
КонецПроцедуры
@ -93,7 +98,10 @@
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDКанала, Текст));
IDСообщения = OPI_Инструменты.ЧислоВСтроку(МассивРезультатов[1]["result"]["message_id"]);
ЗаписатьПараметр("Телеграм_IDСообщенияКанала", IDСообщения);
Для Каждого Результат Из МассивРезультатов Цикл
ЮТест.ОжидаетЧто(Результат)
@ -143,19 +151,18 @@
IDЧата = ПолучитьПараметр("Телеграм_Чат");
IDКанала = ПолучитьПараметр("Телеграм_Канал");
Текст = "Сообщение из автоматического теста";
Картинка = ПолучитьДвоичные("Видео");
Видео = ПолучитьДвоичные("Видео");
ИВФ = ПолучитьИмяВременногоФайла("mp4");
Картинка.Записать(ИВФ);
Видео.Записать(ИВФ);
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDЧата , Текст, Картинка));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, Картинка));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDЧата , Текст, Видео));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, Видео));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDЧата , Текст, ИВФ));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьВидео(Токен, IDКанала, Текст, ИВФ));
Для Каждого Результат Из МассивРезультатов Цикл
//@skip-warning
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Заполнено()
@ -263,6 +270,143 @@
КонецПроцедуры
Процедура Телеграм_ОтправитьМедиагруппу() Экспорт
Токен = ПолучитьПараметр("Телеграм_Токен");
IDЧата = ПолучитьПараметр("Телеграм_Чат");
IDКанала = ПолучитьПараметр("Телеграм_Канал");
Текст = "Сообщение из автоматического теста";
Картинка = ПолучитьДвоичные("Картинка");
ИВФ_Картинка = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ИВФ_Картинка);
Видео = ПолучитьДвоичные("Видео");
ИВФ_Видео = ПолучитьИмяВременногоФайла("mp4");
Видео.Записать(ИВФ_Видео);
МедиагруппаЧат = Новый Соответствие;
МедиагруппаЧат.Вставить(Картинка , "photo");
МедиагруппаЧат.Вставить(ИВФ_Видео, "video");
МедиагруппаКанал = Новый Соответствие;
МедиагруппаКанал.Вставить(ИВФ_Картинка, "photo");
МедиагруппаКанал.Вставить(Видео , "video");
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDЧата, Текст, МедиагруппаЧат));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМедиагруппу(Токен, IDКанала, Текст, МедиагруппаКанал));
Для Каждого Результат Из МассивРезультатов Цикл
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Заполнено()
.Свойство("ok").Равно(Истина)
.Свойство("result").ИмеетТип("Массив").ИмеетДлину(2)
КонецЦикла;
УдалитьФайлы(ИВФ_Картинка);
УдалитьФайлы(ИВФ_Видео);
КонецПроцедуры
Процедура Телеграм_ОтправитьМестоположение() Экспорт
Токен = ПолучитьПараметр("Телеграм_Токен");
IDЧата = ПолучитьПараметр("Телеграм_Чат");
IDКанала = ПолучитьПараметр("Телеграм_Канал");
Ширина = "48.87373649724122";
Долгота = "48.87373649724122";
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМестоположение(Токен, IDЧата , Ширина, Долгота));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьМестоположение(Токен, IDКанала, Ширина, Долгота));
Для Каждого Результат Из МассивРезультатов Цикл
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Заполнено()
.Свойство("ok").Равно(Истина)
.Свойство("result.location").ИмеетТип("Соответствие").Заполнено();
КонецЦикла;
КонецПроцедуры
Процедура Телеграм_ОтправитьКонтакт() Экспорт
Токен = ПолучитьПараметр("Телеграм_Токен");
IDЧата = ПолучитьПараметр("Телеграм_Чат");
IDКанала = ПолучитьПараметр("Телеграм_Канал");
Имя = "Петр";
Фамилия = "Петров";
Телефон = "88005553535";
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКонтакт(Токен, IDЧата , Имя, Фамилия, Телефон));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКонтакт(Токен, IDКанала, Имя, Фамилия, Телефон));
Для Каждого Результат Из МассивРезультатов Цикл
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Заполнено()
.Свойство("ok").Равно(Истина)
.Свойство("result.contact").ИмеетТип("Соответствие").Заполнено()
.Свойство("result.contact.first_name").Равно(Имя);
КонецЦикла;
КонецПроцедуры
Процедура Телеграм_ОтправитьОпрос() Экспорт
Токен = ПолучитьПараметр("Телеграм_Токен");
IDЧата = ПолучитьПараметр("Телеграм_Чат");
IDКанала = ПолучитьПараметр("Телеграм_Канал");
Вопрос = "Какой ваш любимый цвет?";
МассивОтветов = Новый Массив;
МассивОтветов.Добавить("Красный");
МассивОтветов.Добавить("Желтый");
МассивОтветов.Добавить("Зеленый");
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDЧата , Вопрос, МассивОтветов, Ложь));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьОпрос(Токен, IDКанала, Вопрос, МассивОтветов, Истина));
Для Каждого Результат Из МассивРезультатов Цикл
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Заполнено()
.Свойство("ok").Равно(Истина)
.Свойство("result.poll").ИмеетТип("Соответствие").Заполнено()
.Свойство("result.poll.question").Равно(Вопрос);
КонецЦикла;
КонецПроцедуры
Процедура Телеграм_ПереслатьСообщение() Экспорт
Токен = ПолучитьПараметр("Телеграм_Токен");
IDЧата = ПолучитьПараметр("Телеграм_Чат");
IDКанала = ПолучитьПараметр("Телеграм_Канал");
IDСообщения = ПолучитьПараметр("Телеграм_IDСообщенияКанала");
ЮТест.ОжидаетЧто(OPI_Telegram.ПереслатьСообщение(Токен, IDСообщения, IDКанала, IDЧата))
.ИмеетТип("Соответствие")
.Заполнено()
.Свойство("ok").Равно(Истина)
.Свойство("result.forward_origin.message_id").Равно(Число(IDСообщения));
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@ -308,8 +452,14 @@
ИмяРеквизита = "Значение";
ЭлементСпр = Справочники[ИмяСправочника].НайтиПоНаименованию(Параметр);
ОбъектСпр = ЭлементСпр.ПолучитьОбъект();
Если ЗначениеЗаполнено(ЭлементСпр) Тогда
ОбъектСпр = ЭлементСпр.ПолучитьОбъект();
Иначе
ОбъектСпр = Справочники[ИмяСправочника].СоздатьЭлемент();
ОбъектСпр.Наименование = Параметр;
КонецЕсли;
ОбъектСпр[ИмяРеквизита] = Значение;
ОбъектСпр.Записать();