Sha256: 73cf7541810a3c1054183b76733702d9cf24167b44b68f056435cf4c8b189320

Contents?: true

Size: 1.35 KB

Versions: 3

Compression:

Stored size: 1.35 KB

Contents

class Kaui::FunctionalTestHelper < ActionController::TestCase

  include Devise::TestHelpers
  include Kaui::KillbillTestHelper

  # Called before every single test
  setup do
    setup_functional_test
  end

  # Called after every single test
  teardown do
    teardown_functional_test
  end

  protected

  #
  # Rails helpers
  #

  def setup_functional_test
    # Create useful data to exercise the code
    setup_test_data

    @routes                        = Kaui::Engine.routes
    @request.env['devise.mapping'] = Devise.mappings[:user]

    # Login
    login_as_admin
  end

  def teardown_functional_test
    check_no_flash_error
  end

  def verify_pagination_results!(min = 0)
    assert_response 200

    body = MultiJson.decode(@response.body)
    # We could probably do better checks here since each test runs in its own tenant
    assert body['iTotalRecords'] >= min
    assert body['iTotalDisplayRecords'] >= min
    assert body['aaData'].instance_of?(Array)
  end

  def login_as_admin
    wrap_with_controller do
      get :new
      post :create, {:user => {:kb_username => USERNAME, :password => PASSWORD}}
    end
  end

  # Cheat to access a different controller
  def wrap_with_controller(new_controller = Kaui::SessionsController)
    old_controller = @controller
    @controller    = new_controller.new
    yield
    @controller = old_controller
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
kaui-0.7.2 test/functional/kaui/functional_test_helper.rb
kaui-0.7.1 test/functional/kaui/functional_test_helper.rb
kaui-0.7.0 test/functional/kaui/functional_test_helper.rb