From 54eb0fb3949e809c735a9c1f7923979242d5f916 Mon Sep 17 00:00:00 2001 From: Daniel Miranda Date: Fri, 8 Apr 2016 16:41:40 -0300 Subject: [PATCH] Add acceptance test helper to find values in HTML tables --- features/support/env.rb | 4 ++-- features/support/tables.rb | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 features/support/tables.rb diff --git a/features/support/env.rb b/features/support/env.rb index d4a5049..4618602 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -24,6 +24,7 @@ require 'warden' require 'cucumber/rails' require 'capybara/poltergeist' require_relative 'header' +require_relative 'tables' #Capybara.default_driver = :poltergeist Capybara.javascript_driver = :poltergeist @@ -85,5 +86,4 @@ Cucumber::Rails::Database.javascript_strategy = :truncation require 'kalibro_client/kalibro_cucumber_helpers/hooks.rb' Warden.test_mode! -World(Warden::Test::Helpers, HeaderUtils) - +World(Warden::Test::Helpers, HeaderUtils, TableUtils) diff --git a/features/support/tables.rb b/features/support/tables.rb new file mode 100644 index 0000000..940ffad --- /dev/null +++ b/features/support/tables.rb @@ -0,0 +1,15 @@ +module TableUtils + def get_table_column_values(selector, column) + column = column.strip + + within(selector) do + table_columns = all('th').map { |table_column| table_column.text.strip } + column_index = table_columns.index(column) + expect(column_index).not_to be_nil + + all("tr > td:nth-child(#{column_index + 1})").each do |element| + yield element.text.strip + end + end + end +end -- libgit2 0.21.2