Что-то странное происходит с одним из моих каратэ тестов. У меня есть довольно много, которые я унаследовал (а не написал сам), и они в основном все работают нормально. Мое приложение использует GraphQL , и я изменяю существующую функцию мутации, чтобы добавить аргумент. Новый аргумент - это список DestinationInput
, определенный следующим образом:
createScheduledTitles(titles: [ScheduledTitleInput!]!, destinations: [DestinationInput]!): [ScheduledTitle!]!
Вот как я настраиваю свои аргументы в своем сценарии каратэ:
* def input =
"""
{titles: [ {
...
],
destinations: [
{
'destinationType': "od",
'brightcovePublish': "true"
}
]
}
"""
Это отклоняется конец сервера (java) с:
The variables input contains a field name 'stinationType' that is not defined for input object type 'DestinationInput'
Ну да, конечно, но я предоставляю 'destinationType', а не 'stinationType'. Когда я проверяю журнал того, что было отправлено, я вижу это:
"destinations": [
{
"stinationType": "od",
"ightcovePublish": "true"
}
]
А? Где эти начальные символы go? С тех пор я пробовал каждую комбинацию кавычек (двойных, одинарных, ни одного) в именах полей и аргументах. Я пробовал другое форматирование строки et c. Некоторые небольшие различия, некоторые комбинации оставляют кавычки в имени поля, поэтому я вижу stinationtype\'
в качестве имени поля по ошибке, а иногда оно жует больше букв спереди. Я перепечатал имена полей на случай, если там отредактировал несколько скрытых символов. Пока что ничто не приводит меня к успеху. У меня есть другие рабочие примеры такого рода вещей, и я скопировал их формат, но все равно не радуюсь. Все, что происходит, находится на стороне клиента, потому что журнал показывает неверные имена полей как отправленные. Кто-нибудь знает, что я делаю не так?