1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/test/cases/clone_test.rb
2017-07-19 22:27:07 +03:00

42 lines
1,009 B
Ruby

# frozen_string_literal: true
require "cases/helper"
require "models/topic"
module ActiveRecord
class CloneTest < ActiveRecord::TestCase
fixtures :topics
def test_persisted
topic = Topic.first
cloned = topic.clone
assert topic.persisted?, "topic persisted"
assert cloned.persisted?, "topic persisted"
assert !cloned.new_record?, "topic is not new"
end
def test_stays_frozen
topic = Topic.first
topic.freeze
cloned = topic.clone
assert cloned.persisted?, "topic persisted"
assert !cloned.new_record?, "topic is not new"
assert cloned.frozen?, "topic should be frozen"
end
def test_shallow
topic = Topic.first
cloned = topic.clone
topic.author_name = "Aaron"
assert_equal "Aaron", cloned.author_name
end
def test_freezing_a_cloned_model_does_not_freeze_clone
cloned = Topic.new
clone = cloned.clone
cloned.freeze
assert_not clone.frozen?
end
end
end