diff --git a/src/test/java/com/avaje/tests/model/onetoone/album/Cover.java b/src/test/java/com/avaje/tests/model/onetoone/album/Cover.java index 4972d22a6..da792d368 100644 --- a/src/test/java/com/avaje/tests/model/onetoone/album/Cover.java +++ b/src/test/java/com/avaje/tests/model/onetoone/album/Cover.java @@ -49,6 +49,10 @@ public class Cover extends Model { return this.deleted; } + public void setDeleted(boolean deleted) { + this.deleted = deleted; + } + public Long getId() { return this.id; } diff --git a/src/test/java/com/avaje/tests/model/onetoone/album/DeleteById_SoftDelete_Tests.java b/src/test/java/com/avaje/tests/model/onetoone/album/DeleteById_SoftDelete_Tests.java index f6e2dd847..95e6e88bd 100644 --- a/src/test/java/com/avaje/tests/model/onetoone/album/DeleteById_SoftDelete_Tests.java +++ b/src/test/java/com/avaje/tests/model/onetoone/album/DeleteById_SoftDelete_Tests.java @@ -10,6 +10,8 @@ import java.util.ArrayList; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; public class DeleteById_SoftDelete_Tests { @@ -30,6 +32,38 @@ public class DeleteById_SoftDelete_Tests { cover.deletePermanent(); } + @Test + public void undo_softDelete() { + + Cover cover = new Cover("b1"); + cover.save(); + + Ebean.delete(Cover.class, cover.getId()); + + Cover findWhenSoft = Ebean.find(Cover.class, cover.getId()); + assertNull(findWhenSoft); + + Cover cover1 = Ebean.find(Cover.class) + .setIncludeSoftDeletes() + .setId(cover.getId()) + .findUnique(); + + cover1.setDeleted(false); + + LoggedSqlCollector.start(); + + cover1.update(); + + List sql = LoggedSqlCollector.stop(); + assertThat(sql).hasSize(1); + assertThat(sql.get(0)).contains("update cover set deleted=? where id=?; --bind(false"); + + Cover findAgain = Ebean.find(Cover.class, cover.getId()); + assertNotNull(findAgain); + + cover.deletePermanent(); + } + @Test public void deleteById_when_softDelete() {