Как протестировать модель Rails с различными конфигурациями устройства в Capybara? - PullRequest
0 голосов
/ 07 октября 2019
class PlatformUser < ActiveRecord::Base

  D_MODULES = [:registerable,
                    :recoverable, :rememberable, :trackable,
                    :validatable, :lockable, :omniauthable,
                    :lastseenable,
                    :invitable] 

  if ENV['sso']=='true'
    D_MODULES.push(:saml_authenticatable)
  else
    D_MODULES.push(:two_factor_authenticatable, :database_authenticatable)
  end

  devise *D_MODULES
end

У меня есть разработанная модель, которая использует saml_authenticatable или database_authenticatable в зависимости от ENV ['sso'].

Как проверить это на Capybara?

Capybara предварительно загружает приложение, то есть я не могу изменить конфигурацию модулей devise в модели PlatformUser во время выполнения даже при изменении ENV ['sso'] value.

Есть ли способ загрузить две разные версии приложения на отдельные драйверы Capybara?

...