Sha256: afd8388db06e169a5e131b9baa05c94d9c6c8b9e362dd267cb4837a17ce7d609

Contents?: true

Size: 1.57 KB

Versions: 12

Compression:

Stored size: 1.57 KB

Contents

require 'rails_helper'

require 'support/models'
require 'support/capybara'
require 'support/active_admin_helpers'

RSpec.describe 'ajax params', type: :request do
  before(:each) do
    ActiveAdminHelpers.setup do
      ActiveAdmin.register(Category) do
        searchable_select_options(scope: lambda do |params|
                                           Category.where(created_by_id: params[:created_by])
                                         end,
                                  text_attribute: :name)
      end

      ActiveAdmin.register(Post) do
        form do |f|
          f.input(:category,
                  as: :searchable_select,
                  ajax: {
                    params: {
                      created_by: current_user.id
                    }
                  })
        end
      end
    end
  end

  it 'passes parameters when rendering selected item' do
    user = User.create
    category = Category.create(name: 'Travel', created_by: user)
    post = Post.create(category: category)

    ApplicationController.current_user = user
    get "/admin/posts/#{post.id}/edit"

    expect(response.body).to have_selector('.searchable-select-input option[selected]',
                                           text: 'Travel')
  end

  it 'includes parameters in ajax url' do
    user = User.create

    ApplicationController.current_user = user
    get '/admin/posts/new'

    url_matcher = "?created_by=#{user.id}"
    expect(response.body).to have_selector('.searchable-select-input' \
                                           "[data-ajax-url*='#{url_matcher}']")
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
activeadmin-searchable_select-1.8.0 spec/features/ajax_params_spec.rb
activeadmin-searchable_select-1.7.0 spec/features/ajax_params_spec.rb
activeadmin-searchable_select-1.6.0 spec/features/ajax_params_spec.rb
activeadmin-searchable_select-1.5.0 spec/features/ajax_params_spec.rb
activeadmin-searchable_select-1.4.0 spec/features/ajax_params_spec.rb
activeadmin-searchable_select-1.3.0 spec/features/ajax_params_spec.rb
activeadmin-searchable_select-1.2.1 spec/features/ajax_params_spec.rb
activeadmin-searchable_select-1.2.0 spec/features/ajax_params_spec.rb
activeadmin-searchable_select-1.1.0 spec/features/ajax_params_spec.rb
activeadmin-searchable_select-1.0.2 spec/features/ajax_params_spec.rb
activeadmin-searchable_select-1.0.1 spec/features/ajax_params_spec.rb
activeadmin-searchable_select-1.0.0 spec/features/ajax_params_spec.rb