|
20 | 20 | import com.github.javafaker.Faker; |
21 | 21 | import lombok.extern.slf4j.Slf4j; |
22 | 22 | import org.dizitart.no2.collection.Document; |
| 23 | +import org.dizitart.no2.collection.FindOptions; |
23 | 24 | import org.dizitart.no2.collection.NitriteCollection; |
24 | 25 | import org.dizitart.no2.common.meta.Attributes; |
25 | 26 | import org.dizitart.no2.exceptions.NitriteIOException; |
26 | 27 | import org.dizitart.no2.exceptions.TransactionException; |
27 | 28 | import org.dizitart.no2.index.IndexType; |
28 | 29 | import org.dizitart.no2.integration.repository.BaseObjectRepositoryTest; |
29 | | -import org.dizitart.no2.repository.ObjectRepository; |
30 | 30 | import org.dizitart.no2.integration.repository.data.SubEmployee; |
| 31 | +import org.dizitart.no2.integration.repository.decorator.Manufacturer; |
| 32 | +import org.dizitart.no2.integration.repository.decorator.ManufacturerDecorator; |
| 33 | +import org.dizitart.no2.repository.Cursor; |
| 34 | +import org.dizitart.no2.repository.ObjectRepository; |
31 | 35 | import org.dizitart.no2.transaction.Session; |
32 | 36 | import org.dizitart.no2.transaction.Transaction; |
33 | 37 | import org.junit.Test; |
34 | 38 |
|
35 | | -import java.util.*; |
| 39 | +import java.util.ArrayList; |
| 40 | +import java.util.HashMap; |
| 41 | +import java.util.List; |
| 42 | +import java.util.Map; |
36 | 43 | import java.util.concurrent.ExecutionException; |
37 | 44 | import java.util.concurrent.ExecutorService; |
38 | 45 | import java.util.concurrent.Executors; |
@@ -824,4 +831,28 @@ public void testFailureOnClosedTransaction() { |
824 | 831 | fail(); |
825 | 832 | } |
826 | 833 | } |
| 834 | + |
| 835 | + @Test |
| 836 | + public void testWithEntityDecorator() { |
| 837 | + ObjectRepository<Manufacturer> repo = db.getRepository(new ManufacturerDecorator()); |
| 838 | + try (Session session = db.createSession()) { |
| 839 | + try (Transaction transaction = session.beginTransaction()) { |
| 840 | + ObjectRepository<Manufacturer> txRepo = transaction.getRepository(new ManufacturerDecorator()); |
| 841 | + Manufacturer manufacturer = new Manufacturer(); |
| 842 | + manufacturer.setName("John"); |
| 843 | + manufacturer.setAddress("1234"); |
| 844 | + manufacturer.setUniqueId(1); |
| 845 | + txRepo.insert(manufacturer); |
| 846 | + |
| 847 | + Cursor<Manufacturer> cursor = txRepo.find(where("name").eq("John"), FindOptions.limitBy(1)); |
| 848 | + for (Manufacturer item : cursor) { |
| 849 | + assertEquals(item.getName(), "John"); |
| 850 | + } |
| 851 | + |
| 852 | + transaction.commit(); |
| 853 | + } |
| 854 | + } |
| 855 | + Cursor<Manufacturer> cursor = repo.find(where("name").eq("John"), FindOptions.limitBy(1)); |
| 856 | + assertEquals(cursor.size(), 1); |
| 857 | + } |
827 | 858 | } |
0 commit comments