Тест интеграции Rails: мой тест отправляет новую запись в контроллер, как мне получить эту запись? - PullRequest
0 голосов
/ 10 января 2020

У меня проблема с получением информации о новой записи, которую только что опубликовал мой тест. Вот мой код:

post admin_bundles_path, params: { bundle: {
    title: "New bundle",
    sku: "ASD-FESTA-00001-XM",
} }, xhr: true
assert_response :ok

Пока все хорошо. Теперь, как я могу проверить атрибуты этой новой записи? Старые записи находятся на моих приборах, поэтому я могу получить к ним доступ, например, bundles(:some_bundle). Как мне сделать это для нового?

1 Ответ

0 голосов
/ 10 января 2020

Вы можете попробовать это:

Bundle.last

Который получит последнюю запись, которую вы только что опубликовали. Имейте в виду! Если по какой-либо причине ваш запрос на публикацию не удастся, вы на самом деле будете извлекать более старые записи из ваших приборов.

Если вы хотите быть абсолютно уверенным, то вы можете сделать что-то вроде этого:

Bundle.where(title: "New bundle", sku: "ASD-FESTA-00001-XM").first

Это приведет к ошибке, если по какой-либо причине почтовый запрос не будет выполнен.

...