Rails 2.3.9. Сессии больше не будут работать в интеграционных тестах - PullRequest
0 голосов
/ 22 января 2011

По какой-то причине мои интеграционные тесты, которые тестируют мой контроллер входа, внезапно не будут работать. Просто обновился до 2.3.9 и возникли странные проблемы. Все было прекрасно в 2.3.5 и даже 2.3.8! Вот код, который больше не проходит:

def login_user
  visit login_url
  assert_response :success
  assert_template "new"

  post session_url, :email => "abc@123.com", :password => "secret"
  assert_response :redirect
  follow_redirect!
  assert_response :success
  assert_template "sessions/organizations"

  post organizations_session_url, :id => organizations(:ace).id
  assert_response :redirect
  follow_redirect!
  assert_response :success
  assert_template "mission_control/index"
end

Когда пользователь входит в систему, его идентификатор сохраняется в сессии [: user_id]. Когда я запускаю тест, описанный выше, он терпит неудачу после первого follow_redirect !. Похоже, сессия [: user_id] очищается и затем просит пользователя снова войти в систему, когда он только что это сделал. Что может быть причиной очищения моих сеансов? Я ничего не трогал. Рельсы 2.3.5 были в порядке. Есть ли ошибка в Rails?

Спасибо

(Кстати, сайт работает нормально. Похоже, что только интеграционные тесты мешают моим сеансам.)

1 Ответ

0 голосов
/ 27 января 2011

Ну, я понял это.У 2.3.10 была та же проблема.

Вместо того, чтобы использовать гем Rails 2.3.10, я скачал последний стабильный код из их ветки 2.3 на github и замер.Я думаю, что самоцветы Rails устарели.

Спасибо

...