# frozen_string_literal: true
require "abstract_unit"
require "controller/fake_models"
class RecordIdentifierTest < ActiveSupport::TestCase
include ActionView::RecordIdentifier
def setup
@klass = Comment
@record = @klass.new
@singular = "comment"
@plural = "comments"
end
def test_dom_id_with_new_record
assert_equal "new_#{@singular}", dom_id(@record)
end
def test_dom_id_with_new_record_and_prefix
assert_equal "custom_prefix_#{@singular}", dom_id(@record, :custom_prefix)
end
def test_dom_id_with_saved_record
@record.save
assert_equal "#{@singular}_1", dom_id(@record)
end
def test_dom_id_with_prefix
@record.save
assert_equal "edit_#{@singular}_1", dom_id(@record, :edit)
end
def test_dom_class
assert_equal @singular, dom_class(@record)
end
def test_dom_class_with_prefix
assert_equal "custom_prefix_#{@singular}", dom_class(@record, :custom_prefix)
end
def test_dom_id_as_singleton_method
@record.save
assert_equal "#{@singular}_1", ActionView::RecordIdentifier.dom_id(@record)
end
def test_dom_class_as_singleton_method
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