diff options
author | Sean Griffin <sean@seantheprogrammer.com> | 2014-12-22 18:06:16 -0700 |
---|---|---|
committer | Sean Griffin <sean@seantheprogrammer.com> | 2014-12-22 18:06:16 -0700 |
commit | d9d865aa40b29b4b5aba71e9f6108eaab7206b1e (patch) | |
tree | 1f79cd684fd9c10d4d76d065be09fd4848ed3cf1 /actionview | |
parent | 8259d795606e3f3333537baadf0d1a37c4fd4fd0 (diff) | |
parent | b26338e83b4249ede5ea1368498b4dbf31b44612 (diff) | |
download | rails-d9d865aa40b29b4b5aba71e9f6108eaab7206b1e.tar.gz rails-d9d865aa40b29b4b5aba71e9f6108eaab7206b1e.tar.bz2 rails-d9d865aa40b29b4b5aba71e9f6108eaab7206b1e.zip |
Merge pull request #18156 from claudiob/better-record-identifier-tests
Better tests for AV::RecordIdentifier
Diffstat (limited to 'actionview')
-rw-r--r-- | actionview/test/lib/controller/fake_models.rb | 12 | ||||
-rw-r--r-- | actionview/test/template/record_identifier_test.rb | 43 |
2 files changed, 55 insertions, 0 deletions
diff --git a/actionview/test/lib/controller/fake_models.rb b/actionview/test/lib/controller/fake_models.rb index cb02a56cb4..789b1d198b 100644 --- a/actionview/test/lib/controller/fake_models.rb +++ b/actionview/test/lib/controller/fake_models.rb @@ -170,3 +170,15 @@ end class Car < Struct.new(:color) end + +class Plane + attr_reader :to_key + + def model_name + OpenStruct.new param_key: 'airplane' + end + + def save + @to_key = [1] + end +end diff --git a/actionview/test/template/record_identifier_test.rb b/actionview/test/template/record_identifier_test.rb index f8ee563469..04898c0b0e 100644 --- a/actionview/test/template/record_identifier_test.rb +++ b/actionview/test/template/record_identifier_test.rb @@ -46,3 +46,46 @@ class RecordIdentifierTest < ActiveSupport::TestCase assert_equal @singular, ActionView::RecordIdentifier.dom_class(@record) end end + +class RecordIdentifierWithoutActiveModelTest < ActiveSupport::TestCase + include ActionView::RecordIdentifier + + def setup + @record = Plane.new + end + + def test_dom_id_with_new_record + assert_equal "new_airplane", dom_id(@record) + end + + def test_dom_id_with_new_record_and_prefix + assert_equal "custom_prefix_airplane", dom_id(@record, :custom_prefix) + end + + def test_dom_id_with_saved_record + @record.save + assert_equal "airplane_1", dom_id(@record) + end + + def test_dom_id_with_prefix + @record.save + assert_equal "edit_airplane_1", dom_id(@record, :edit) + end + + def test_dom_class + assert_equal 'airplane', dom_class(@record) + end + + def test_dom_class_with_prefix + assert_equal "custom_prefix_airplane", dom_class(@record, :custom_prefix) + end + + def test_dom_id_as_singleton_method + @record.save + assert_equal "airplane_1", ActionView::RecordIdentifier.dom_id(@record) + end + + def test_dom_class_as_singleton_method + assert_equal 'airplane', ActionView::RecordIdentifier.dom_class(@record) + end +end |