Rspec не тестирует прохождение тестов на предмет перенаправления - PullRequest
0 голосов
/ 30 января 2019

Я нахожусь в буткемпе и не могу пройти этот тест.В рамках проекта создается ваша бутлег-версия твиттера, и тест выглядит так:

it 'signup directs user to twitter index' do
  params = {
    :username => "skittles123",
    :email => "skittles@aol.com",
    :password => "rainbows"
  }
  post '/signup', params
  expect(last_response.location).to include("/tweets")
end

Мой контроллер, который выполняет этот тест, приведен ниже:

 post '/users' do
    @user = User.create(params[:user])
    @error = @user.errors.full_messages

    unless @error == []
      redirect to '/signup'
    else
      session[:user_id] = @user.id
      redirect to '/tweets'
    end
  end

В основном, что происходит, когда я регистрируюпользователь и данные сохраняются в базе данных, которую мой тест должен пройти, потому что ожидаемый last_response.location должен включать '/tweets', и именно туда он перенаправляется.Я не понимаю, почему это не проходит.

1 Ответ

0 голосов
/ 30 января 2019

Поскольку тест запрашивал сообщение /signup и вместо использования /signup в качестве имени метода маршрута после того, как пользователь опубликовал информацию для создания учетной записи, которую я использовал /users.Это вызвало ошибку.

...