aboutsummaryrefslogtreecommitdiffstats
path: root/spec/helpers
diff options
context:
space:
mode:
authorTeddy Wing2017-09-01 16:04:59 +0200
committerTeddy Wing2017-09-01 16:04:59 +0200
commit28db706443a912e8355e4c48488dc40c403e7f76 (patch)
treeb2eee6e7c47348ee632daed8d2edb8eaf7c7eea9 /spec/helpers
parentb546fc6ef6d406a041f5a26f5855a02b7c8d1f2c (diff)
downloadchouette-core-28db706443a912e8355e4c48488dc40c403e7f76.tar.bz2
TableBuilderHelper::Column#link_to: Allow arbitrary number of arguments
This enables us to pass multiple objects into the lambda, so that we can for example build a URL using a Rails helper using multiple objects. Example: column.link_to(referential, item) lambda do |referential, item| some_path(referential, item) end
Diffstat (limited to 'spec/helpers')
-rw-r--r--spec/helpers/table_builder_helper/column_spec.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/spec/helpers/table_builder_helper/column_spec.rb b/spec/helpers/table_builder_helper/column_spec.rb
index e0bfd8a6a..1366d8c46 100644
--- a/spec/helpers/table_builder_helper/column_spec.rb
+++ b/spec/helpers/table_builder_helper/column_spec.rb
@@ -58,5 +58,19 @@ describe TableBuilderHelper::Column do
).link_to(train)
).to eq('TGV')
end
+
+ it "takes any number of arguments" do
+ train = double('train', kind: 'Shinkansen')
+
+ expect(
+ TableBuilderHelper::Column.new(
+ name: 'unused',
+ attribute: nil,
+ link_to: lambda do |prefix, train|
+ "#{prefix}: #{train.kind}"
+ end
+ ).link_to('Type', train)
+ ).to eq('Type: Shinkansen')
+ end
end
end