@@ -1579,6 +1579,17 @@ describe Marten::DB::Model::Persistence do
15791579 object.username.should eq " test1"
15801580 object.email.should eq " test1@example.com"
15811581 end
1582+
1583+ it " does not allow to update for a new record" do
1584+ object = TestUser .new(first_name: " John" , last_name: " Doe" )
1585+ object.update_columns({" username" => " test1" , " email" => " test1@example.com" }).should be_false
1586+ end
1587+
1588+ it " does not allow to update for a destroyed record" do
1589+ object = TestUser .create!(username: " jd" , email: " jd@example.com" , first_name: " John" , last_name: " Doe" )
1590+ object.delete
1591+ object.update_columns({" username" => " test1" , " email" => " test1@example.com" }).should be_false
1592+ end
15821593 end
15831594
15841595 describe " #update_columns!" do
@@ -1627,7 +1638,7 @@ describe Marten::DB::Model::Persistence do
16271638 object.email.should eq " test1@example.com"
16281639 end
16291640
1630- it " raises an error when trying to update a new record" do
1641+ it " does not allow to update for a new record" do
16311642 object = TestUser .new(username: " jd" , email: " jd@example.com" , first_name: " John" , last_name: " Doe" )
16321643
16331644 expect_raises(
@@ -1637,6 +1648,18 @@ describe Marten::DB::Model::Persistence do
16371648 object.update_columns!(username: " updated" )
16381649 end
16391650 end
1651+
1652+ it " does not allow to update for a destroyed record" do
1653+ object = TestUser .create!(username: " jd" , email: " jd@example.com" , first_name: " John" , last_name: " Doe" )
1654+ object.delete
1655+
1656+ expect_raises(
1657+ Marten ::DB ::Errors ::UnmetSaveCondition ,
1658+ " Cannot update columns on a deleted record"
1659+ ) do
1660+ object.update_columns!(username: " updated" )
1661+ end
1662+ end
16401663 end
16411664
16421665 describe " #delete" do
0 commit comments