Это будет
click_button 'Sign in'
assert_current_path after_sign_in_path
, но вы сейчас утверждаете свой URL, который действительно не имеет отношения к пользователю, если вы выберете строку в исходном примере как нечто, существующее только настраница после входа в систему
assert_text "You've logged in"
вы, по крайней мере, утверждаете что-то релевантное пользователю (очевидно, текст зависит от того, что показывает ваше приложение). Если это «ненадежно», то вам нужно выяснить, почему это ненадежно - если ваша страница иногда требует больше времени для входа в систему, то укажите расширенное максимальное время ожидания для этого утверждения
assert_text "You've logged in", wait: 10
и т. Д.