File tree Expand file tree Collapse file tree
spec/mobility/plugins/active_record Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -200,6 +200,30 @@ def values; @values ||= {}; end
200200 expect ( instance . changes ) . to eq ( { "title_fr" => [ nil , "Titre en Francais" ] } )
201201 end
202202 end
203+
204+ it "does not dirty original object when duped" do
205+ Mobility . locale = locale = :en
206+ instance = model_class . create ( title : "foo" )
207+ dupe = instance . dup
208+
209+ aggregate_failures do
210+ expect ( instance . changed? ) . to eq ( false )
211+ expect ( dupe . changed? ) . to eq ( false )
212+
213+ backend_for ( dupe , :title ) . write ( :en , "bar" )
214+
215+ expect ( instance . changed? ) . to eq ( false )
216+ expect ( dupe . changed? ) . to eq ( true )
217+
218+ dupe . save
219+
220+ expect ( instance . changed? ) . to eq ( false )
221+ expect ( dupe . changed? ) . to eq ( false )
222+
223+ expect ( instance . previous_changes ) . to include ( { "title_en" => [ nil , "foo" ] } )
224+ expect ( dupe . previous_changes ) . to include ( { "title_en" => [ "foo" , "bar" ] } )
225+ end
226+ end
203227 end
204228
205229 describe "suffix methods" do
You can’t perform that action at this time.
0 commit comments