summaryrefslogtreecommitdiff
path: root/src/test/java/com/amazon
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/amazon')
-rw-r--r--src/test/java/com/amazon/carbonado/TestStorables.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/java/com/amazon/carbonado/TestStorables.java b/src/test/java/com/amazon/carbonado/TestStorables.java
index 07f32f3..484fe5a 100644
--- a/src/test/java/com/amazon/carbonado/TestStorables.java
+++ b/src/test/java/com/amazon/carbonado/TestStorables.java
@@ -3397,6 +3397,38 @@ public class TestStorables extends TestCase {
assertFalse(s1.equals(s3));
}
+ public void test_joinExistsQuery() throws Exception {
+ Storage<Order> orders = getRepository().storageFor(Order.class);
+ Storage<OrderItem> orderItems = getRepository().storageFor(OrderItem.class);
+
+ Order order = orders.prepare();
+ order.setOrderID(1);
+ order.setOrderNumber("111");
+ order.setOrderTotal(123);
+ order.setAddressID(0);
+ order.insert();
+
+ OrderItem item = orderItems.prepare();
+ item.setOrderItemID(2);
+ item.setOrderID(1);
+ item.setItemDescription("stuff");
+ item.setItemQuantity(1);
+ item.setItemPrice(123);
+ item.setShipmentID(0);
+ item.insert();
+
+ Query<Order> query = orders.query("orderTotal = ? & orderItems(itemQuantity = ?)");
+
+ order = query.with(123).with(1).loadOne();
+ assertEquals(1, order.getOrderID());
+
+ order = query.with(123).with(2).tryLoadOne();
+ assertNull(order);
+
+ order = query.with(1234).with(1).tryLoadOne();
+ assertNull(order);
+ }
+
private void assertUninitialized(boolean expected, Storable storable, String... properties) {
for (String property : properties) {
assertEquals(expected, storable.isPropertyUninitialized(property));