1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.kcb.dao;
17
18 import org.junit.Test;
19 import org.kuali.rice.core.api.criteria.QueryByCriteria;
20 import org.kuali.rice.kcb.bo.RecipientPreference;
21 import org.kuali.rice.kcb.test.KCBTestCase;
22 import org.kuali.rice.krad.bo.DataObjectBase;
23 import org.kuali.rice.krad.data.DataObjectService;
24 import org.kuali.rice.krad.data.PersistenceOption;
25 import org.kuali.rice.krad.service.KRADServiceLocator;
26
27 import java.util.List;
28
29 import static org.junit.Assert.assertEquals;
30 import static org.junit.Assert.assertNotNull;
31
32 import static org.kuali.rice.core.api.criteria.PredicateFactory.equal;
33
34
35
36
37
38
39 public class RecipientPreferenceDaoTest extends KCBTestCase {
40
41 private String[] recipientIds = {"unit_test_recip1", "unit_test_recip2"};
42 private String[] propertys = {"Property A", "Property B"};
43 private String[] values = {"Value A", "Value B"};
44 private String[] updatedValues = {"Value C", "Value D"};
45
46
47
48
49 @Test
50 public void testCreate() {
51 RecipientPreference pref1 = createRecipientPreference(0);
52 assertNotNull(pref1.getId());
53
54 RecipientPreference pref2 = createRecipientPreference(1);
55 assertNotNull(pref2.getId());
56 }
57
58
59
60
61 @Test
62 public void testFind() {
63 RecipientPreference pref1 = createRecipientPreference(0);
64 RecipientPreference pref2 = createRecipientPreference(1);
65
66 QueryByCriteria.Builder criteria1 = QueryByCriteria.Builder.create();
67 criteria1.setPredicates(equal(RecipientPreference.RECIPIENT_FIELD, recipientIds[0]),
68 equal(RecipientPreference.PROPERTY_FIELD, propertys[0]));
69 List<RecipientPreference> prefs1 =
70 getDataObjectService().findMatching(RecipientPreference.class, criteria1.build()).getResults();
71
72 assertNotNull(pref1);
73 assertEquals(prefs1.size(), 1);
74
75 pref1 = prefs1.get(0);
76 assertNotNull(pref1);
77 assertEquals(recipientIds[0], pref1.getRecipientId());
78
79 QueryByCriteria.Builder criteria2 = QueryByCriteria.Builder.create();
80 criteria2.setPredicates(equal(RecipientPreference.RECIPIENT_FIELD, recipientIds[1]),
81 equal(RecipientPreference.PROPERTY_FIELD, propertys[1]));
82 List<RecipientPreference> prefs2 =
83 getDataObjectService().findMatching(RecipientPreference.class, criteria2.build()).getResults();
84
85 assertNotNull(pref2);
86 assertEquals(prefs2.size(), 1);
87 pref2 = prefs2.get(0);
88 assertNotNull(pref2);
89 assertEquals(recipientIds[1], pref2.getRecipientId());
90 }
91
92
93
94
95 @Test
96 public void testUpdate() {
97 RecipientPreference pref1 = createRecipientPreference(0);
98 RecipientPreference pref2 = createRecipientPreference(1);
99
100 pref1.setValue(updatedValues[0]);
101 pref2.setValue(updatedValues[1]);
102
103 pref1 = KRADServiceLocator.getDataObjectService().save(pref1, PersistenceOption.FLUSH);
104 pref2 = KRADServiceLocator.getDataObjectService().save(pref2, PersistenceOption.FLUSH);
105
106 assertEquals(updatedValues[0], pref1.getValue());
107 assertEquals(updatedValues[1], pref2.getValue());
108 }
109
110
111
112
113 @Test
114 public void testDelete() {
115 RecipientPreference pref1 = createRecipientPreference(0);
116 RecipientPreference pref2 = createRecipientPreference(1);
117
118 KRADServiceLocator.getDataObjectService().delete(pref1);
119 KRADServiceLocator.getDataObjectService().delete(pref2);
120
121 assertEquals(0, getDataObjectService().findAll(RecipientPreference.class).getResults().size());
122
123 }
124
125 private RecipientPreference createRecipientPreference(int index) {
126 RecipientPreference recipientPreference = new RecipientPreference();
127 recipientPreference.setRecipientId(recipientIds[index]);
128 recipientPreference.setProperty(propertys[index]);
129 recipientPreference.setValue(values[index]);
130
131 return getDataObjectService().save(recipientPreference, PersistenceOption.FLUSH);
132 }
133
134 private DataObjectService getDataObjectService() {
135 return KRADServiceLocator.getDataObjectService();
136 }
137
138 }