ADD: failing testcase for not cleared beancache in persistence context on reorder with @OrderColumn

Signed-off-by: Jonas Pöhler (JPo) <jonas.poehler@foconis.de>
This commit is contained in:
Jonas Pöhler (JPo)
2020-04-08 16:04:49 +02:00
parent 58c49deb06
commit e05b6b78ad
@@ -4,6 +4,8 @@ import io.ebean.Ebean;
import io.ebean.TransactionalTestCase;
import org.junit.Test;
import java.util.Comparator;
import static org.assertj.core.api.Assertions.assertThat;
public class TestOrderColumn extends TransactionalTestCase {
@@ -28,4 +30,33 @@ public class TestOrderColumn extends TransactionalTestCase {
assertThat(result.getChildren()).extracting(OrderReferencedChild::getChildName).containsExactly("c0", "c1", "c2", "c3", "c4");
}
@Test
public void testOrderColumnSortChange() {
final OrderMaster master = new OrderMaster();
for (int i = 0; i < 5; i++) {
final OrderReferencedChild child = new OrderReferencedChild("p" + i);
child.setChildName("c" + i);
master.getChildren().add(child);
}
Ebean.save(master);
OrderMaster result = Ebean.find(OrderMaster.class).findOne();
assertThat(result.getChildren()).hasSize(5);
assertThat(master.getChildren()).extracting(OrderReferencedChild::getName).containsExactly("p0", "p1", "p2", "p3", "p4");
master.getChildren().sort(Comparator.comparing(OrderReferencedChild::getName).reversed());
assertThat(master.getChildren()).extracting(OrderReferencedChild::getName).containsExactly("p4", "p3", "p2", "p1", "p0");
Ebean.save(master);
result = Ebean.find(OrderMaster.class).findOne();
assertThat(result.getChildren()).hasSize(5);
assertThat(result.getChildren()).extracting(OrderReferencedChild::getName).containsExactly("p4", "p3", "p2", "p1", "p0");
}
}