ActionDispatch :: ИнтеграцияTest с ошибкой поддоменов - PullRequest
0 голосов
/ 02 июля 2019

Я не понимаю, что я делаю неправильно, и мне действительно нужна помощь.Я пытаюсь просто написать простой IntegrationTest для сайта с несколькими арендаторами, где у каждой учетной записи есть свой собственный поддомен.

Я следовал инструкциям здесь для смены хоста в IntegrationTest, однако при запускетест

Minitest::Assertion: Expected response to be a redirect to <http://subdomain1.example.com:3000/login> but was a redirect to <http://www.example.com:3000/>.
Expected "http://subdomain1.example.com:3000/login" to be === "http://www.example.com:3000/".
test/integration/feedback_flow_test.rb:8:in `block in <class:FeedbackFlowTest>'
Finished in 0.26594s
1 tests, 2 assertions, 1 failures, 0 errors, 0 skips

Я отредактировал свой хост-файл так, чтобы у меня были subdomain1.example.com и www.example.com, указывающие на 127.0.0.1.Есть ли что-то еще, что я должен сделать, чтобы заставить это работать?Ниже приведен код для IntegrationTest

require 'test_helper'

class FeedbackFlowTest < ActionDispatch::IntegrationTest

  test "no token should go to the login page" do
    host! 'subdomain1.example.com:3000'
    get feedback_path
    assert_redirected_to login_url
    follow_redirect!
    assert_select '.alert-danger h3', 'You are not authorized '
  end
end

1 Ответ

0 голосов
/ 02 июля 2019

Извините всех ... Нашел проблему, посмотрев на test.log. Кажется, я забыл создать приспособление для модели счетов. Таким образом, при запуске теста учетная запись не создавалась, что приводило к ошибке. Я всегда делаю fixtures :all в моем файле test_helper.rb, чтобы он загружал все приборы для тестов.

...