Module: Capybara::ActiveAdmin::Matchers::Table

Included in:
Capybara::ActiveAdmin::Matchers
Defined in:
lib/capybara/active_admin/matchers/table.rb

Instance Method Summary collapse

Instance Method Details

#have_table(options = {}) ⇒ Object

Examples:

expect(page).to have_table
expect(page).to have_table(resource_name: 'users')

Parameters:

  • options (Hash) (defaults to: {})

    :resource_name [String, nil] active admin page resource name for other options @see Capybara::RSpecMatchers#have_selector



14
15
16
17
18
# File 'lib/capybara/active_admin/matchers/table.rb', line 14

def have_table(options = {})
  resource_name = options.delete(:resource_name)
  selector = table_selector(resource_name)
  have_selector(selector, options)
end

#have_table_cell(options = {}) ⇒ Object

Examples:

within_table_for('users') do
  within_table_row(id: user.id) do
    expect(page).to have_table_cell(count: 5)
    expect(page).to have_table_cell(text: user.id.to_s)
    expect(page).to have_table_cell(text: 'John Doe', column: 'Full name')
  end
end

Parameters:

  • options (Hash) (defaults to: {})

    :text [String, nil] cell content include matching :exact_text [String, nil] cell content exact matching :column [String, nil] cell header name for other options @see Capybara::RSpecMatchers#have_selector



50
51
52
53
54
55
# File 'lib/capybara/active_admin/matchers/table.rb', line 50

def have_table_cell(options = {})
  column = options.delete(:column)
  selector = table_cell_selector(column)

  have_selector(selector, options)
end

#have_table_row(options = {}) ⇒ Object

Examples:

within_table_for('users') do
  expect(page).to have_table_row(id: user.id)
end

Parameters:

  • options (Hash) (defaults to: {})

    :text [String, nil] cell content :exact_text [String, nil] cell content exact matching :id [String, Number, nil] record ID for other options @see Capybara::RSpecMatchers#have_selector



30
31
32
33
34
# File 'lib/capybara/active_admin/matchers/table.rb', line 30

def have_table_row(options = {})
  row_id = options.delete(:id)
  selector = table_row_selector(row_id)
  have_selector(selector, options)
end