1
2
3
4
5
6 package org.weda.model;
7
8 import org.weda.ObjectStoreTestCase;
9 import org.weda.domain.Company;
10 import org.weda.enhance.InjectHivemindObject;
11 import org.weda.store.ObjectSource;
12 import org.weda.store.ObjectSourceRegistry;
13
14 /**
15 *
16 * @author Mikhail Titov
17 */
18 public class FilterEditorModelTest extends ObjectStoreTestCase {
19
20 public FilterEditorModelTest(String name) throws Exception {
21 super(name);
22 }
23
24 public void test() throws Exception {
25 checkFilterGroup("company-filter");
26 }
27
28 public void test_withNamesList() throws Exception {
29 checkFilterGroup("company-filter2");
30 }
31
32 private void checkFilterGroup(String groupName) throws Exception{
33 ObjectSourceRegistry objectSourceRegistry =
34 (ObjectSourceRegistry)registry.getService(
35 ObjectSourceRegistry.class);
36 EditorModelRegistry groupRegistry =
37 (EditorModelRegistry)registry.getService(
38 EditorModelRegistry.class);
39 EditorModelGroup group =
40 groupRegistry.getEditorModelGroup(groupName);
41 assertNotNull(group);
42 EditorModel model = group.getEditorModel("name");
43 assertNotNull(model);
44
45 Company comp = new Company();
46 comp.setName("comp1");
47 comp.setEmployeCount(10);
48 store.save(comp);
49
50 comp = new Company();
51 comp.setName("comp2");
52 comp.setEmployeCount(100);
53 store.save(comp);
54
55 comp = new Company();
56 comp.setName("comp3");
57 comp.setEmployeCount(100);
58 store.save(comp);
59
60 ObjectSource objectSource =
61 objectSourceRegistry.getObjectSource("company2");
62 objectSource.getQueryFilter().clearFiltersExpressions();
63 objectSource.refresh();
64 assertEquals(3, objectSource.getRowCount());
65
66 model.setValue("comp1");
67 objectSource.refresh();
68 assertEquals(1, objectSource.getRowCount());
69 assertEquals("comp1", model.getValue());
70
71 model.setValue(null);
72 objectSource.refresh();
73 assertEquals(3, objectSource.getRowCount());
74
75 EditorModel model2 = group.getEditorModel("employeCount");
76 assertNotNull(model2);
77 model2.setValue(10);
78 objectSource.refresh();
79 assertEquals(1, objectSource.getRowCount());
80 assertEquals(10, model2.getValue());
81
82 model2.setValue(">10");
83 objectSource.refresh();
84 assertEquals(2, objectSource.getRowCount());
85 model.setValue("comp2");
86 objectSource.refresh();
87 assertEquals(1, objectSource.getRowCount());
88 }
89
90 }