From a231c136a9eb10b5767a21b3c8e5dbc7bfaaaf01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sn=C5=8Dwball?= Date: Mon, 13 Jul 2020 23:43:54 +0200 Subject: [PATCH] Add failing test case for softdeletes (#2034) Example: One X can have many Ys. Ys can be soft deleted. Y1 -> X1 -> Y1 Y1 is soft deleted When Y1 is loaded, lazy-loading X1 and then lazy-loading the list of Ys associated with X1, the list should contain Y1. This test asserts that is true. --- .../tests/softdelete/TestSoftDeleteBasic.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/test/java/org/tests/softdelete/TestSoftDeleteBasic.java b/src/test/java/org/tests/softdelete/TestSoftDeleteBasic.java index 738366b6f..02b952f22 100644 --- a/src/test/java/org/tests/softdelete/TestSoftDeleteBasic.java +++ b/src/test/java/org/tests/softdelete/TestSoftDeleteBasic.java @@ -247,6 +247,26 @@ public class TestSoftDeleteBasic extends BaseTestCase { DB.deleteAllPermanent(singletonList(bean)); } + @Test + public void testFindSoftDeletedList() { + EBasicSoftDelete bean = new EBasicSoftDelete(); + bean.setName("softDelFetch"); + DB.save(bean); + + EBasicSDChild bean2 = new EBasicSDChild(bean, "softDelFetchus", 1L); + DB.save(bean2); + DB.delete(bean2); + + EBasicSDChild child = DB + .find(EBasicSDChild.class) + .setIncludeSoftDeletes() + .where() + .idEq(bean.getId()) + .findOne(); + assertThat(child).isNotNull(); + assertThat(child.getOwner().getChildren().size()).isEqualTo(1); + } + @Test public void testDeleteById_and_findCount() {