Browse Source

DATAMONGO-506 - Added test case to show BasicQuery is working for nested properties.

pull/4/merge
Oliver Gierke 14 years ago
parent
commit
8b1557e38c
  1. 47
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java

47
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java

@ -51,6 +51,7 @@ import org.springframework.data.mongodb.core.index.Index.Duplicates;
import org.springframework.data.mongodb.core.index.IndexField; import org.springframework.data.mongodb.core.index.IndexField;
import org.springframework.data.mongodb.core.index.IndexInfo; import org.springframework.data.mongodb.core.index.IndexInfo;
import org.springframework.data.mongodb.core.mapping.MongoMappingContext; import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
import org.springframework.data.mongodb.core.query.BasicQuery;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Order; import org.springframework.data.mongodb.core.query.Order;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
@ -1232,6 +1233,35 @@ public class MongoTemplateTests {
template.remove(query(where("id").is(id)), TypeWithMyId.class); template.remove(query(where("id").is(id)), TypeWithMyId.class);
} }
/**
* @see DATAMONGO-506
*/
@Test
public void exceutesBasicQueryCorrectly() {
Address address = new Address();
address.state = "PA";
address.city = "Philadelphia";
MyPerson person = new MyPerson();
person.name = "Oleg";
person.address = address;
template.save(person);
Query query = new BasicQuery("{'name' : 'Oleg'}");
List<MyPerson> result = template.find(query, MyPerson.class);
assertThat(result, hasSize(1));
assertThat(result.get(0), hasProperty("name", is("Oleg")));
query = new BasicQuery("{'address.state' : 'PA' }");
result = template.find(query, MyPerson.class);
assertThat(result, hasSize(1));
assertThat(result.get(0), hasProperty("name", is("Oleg")));
}
static class MyId { static class MyId {
String first; String first;
@ -1278,4 +1308,21 @@ public class MongoTemplateTests {
return source == null ? null : new DateTime(source.getTime()); return source == null ? null : new DateTime(source.getTime());
} }
} }
public static class MyPerson {
String id;
String name;
Address address;
public String getName() {
return name;
}
}
static class Address {
String state;
String city;
}
} }

Loading…
Cancel
Save