Skip to content

Commit 06cfcdd

Browse files
committed
Coverage
1 parent cec8c6e commit 06cfcdd

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

src/main/java/org/mybatis/dynamic/sql/where/WhereDSL.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,11 @@
2323
import org.mybatis.dynamic.sql.util.Buildable;
2424

2525
public class WhereDSL extends AbstractWhereStarter<WhereDSL.StandaloneWhereFinisher, WhereDSL> {
26-
private StandaloneWhereFinisher whereBuilder;
2726
private final StatementConfiguration statementConfiguration = new StatementConfiguration();
27+
private final StandaloneWhereFinisher whereBuilder = new StandaloneWhereFinisher();
2828

2929
@Override
3030
public StandaloneWhereFinisher where() {
31-
if (whereBuilder == null) {
32-
whereBuilder = new StandaloneWhereFinisher();
33-
}
3431
return whereBuilder;
3532
}
3633

src/test/java/org/mybatis/dynamic/sql/where/WhereModelTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package org.mybatis.dynamic.sql.where;
1717

1818
import static org.assertj.core.api.Assertions.assertThat;
19+
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
1920
import static org.mybatis.dynamic.sql.SqlBuilder.*;
2021

2122
import java.sql.JDBCType;
@@ -24,6 +25,7 @@
2425
import org.junit.jupiter.api.Test;
2526
import org.mybatis.dynamic.sql.SqlColumn;
2627
import org.mybatis.dynamic.sql.SqlTable;
28+
import org.mybatis.dynamic.sql.exception.NonRenderingWhereClauseException;
2729
import org.mybatis.dynamic.sql.render.RenderingStrategies;
2830
import org.mybatis.dynamic.sql.where.render.WhereClauseProvider;
2931

@@ -41,4 +43,23 @@ void testThatParameterNameCarriesToSubCriteria() {
4143
assertThat(wc).isEqualTo("where id = #{myName.parameters.p1,jdbcType=INTEGER} or id = #{myName.parameters.p2,jdbcType=INTEGER}")
4244
);
4345
}
46+
47+
@Test
48+
void testNonRenderingWhereDisallowed() {
49+
WhereModel model = where().build();
50+
51+
assertThatExceptionOfType(NonRenderingWhereClauseException.class).isThrownBy(() ->
52+
model.render(RenderingStrategies.MYBATIS3)
53+
);
54+
}
55+
56+
@Test
57+
void testNonRenderingWhereAllowed() {
58+
Optional<WhereClauseProvider> whereClause = where()
59+
.configureStatement(c -> c.setNonRenderingWhereClauseAllowed(true))
60+
.build()
61+
.render(RenderingStrategies.MYBATIS3);
62+
63+
assertThat(whereClause).isEmpty();
64+
}
4465
}

0 commit comments

Comments
 (0)