#1063 - Add Event Listeners capable of being notified for delete by query or update by query

Adds QueryType and adds method query.getQueryType() which then can be used in a BeanQueryAdapter
This commit is contained in:
Rob Bygrave
2018-02-23 14:04:36 +13:00
parent 40704e2ef7
commit 8b18e907af
5 changed files with 80 additions and 4 deletions
@@ -3,10 +3,14 @@ package org.tests.basic.event;
import io.ebean.BaseTestCase;
import io.ebean.Ebean;
import io.ebean.Query;
import io.ebean.QueryType;
import org.ebeantest.LoggedSqlCollector;
import org.junit.Test;
import org.tests.model.basic.ResetBasicData;
import org.tests.model.basic.TOne;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
public class TestQueryAdapter extends BaseTestCase {
@@ -27,5 +31,26 @@ public class TestQueryAdapter extends BaseTestCase {
assertThat(one.getId()).isEqualTo(o.getId());
assertThat(sqlOf(queryFindId)).contains(" 1=1");
Query<TOne> notUsedQuery = Ebean.find(TOne.class);
assertThat(notUsedQuery.getQueryType()).isEqualTo(QueryType.FIND);
LoggedSqlCollector.start();
Ebean.update(TOne.class)
.set("name", "mod")
.where().idEq(o.getId())
.update();
List<String> sql = LoggedSqlCollector.current();
assertThat(sql.get(0)).contains(" 2=2");
Ebean.find(TOne.class)
.where().idEq(o.getId())
.delete();
sql = LoggedSqlCollector.stop();
assertThat(sql.get(0)).contains(" 3=3");
}
}