Merge branch 'release/5.18.0'
[cdmlib.git] / cdmlib-services / src / test / java / eu / etaxonomy / cdm / api / service / PreferenceServiceImplTest.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9
10 package eu.etaxonomy.cdm.api.service;
11
12 import java.io.FileNotFoundException;
13 import java.util.List;
14
15 import org.junit.Assert;
16 import org.junit.Test;
17 import org.unitils.dbunit.annotation.DataSet;
18 import org.unitils.spring.annotation.SpringBeanByType;
19
20 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
21 import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
22 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
23 import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
24 import eu.etaxonomy.cdm.model.metadata.PreferenceSubjectEnum;
25 import eu.etaxonomy.cdm.test.integration.CdmIntegrationTest;
26
27 /**
28 * @author a.mueller
29 */
30 public class PreferenceServiceImplTest extends CdmIntegrationTest {
31
32 @SpringBeanByType
33 IPreferenceService service;
34
35 /************ TESTS ********************************/
36
37 @Test
38 @DataSet
39 public void testService() {
40 Assert.assertNotNull(service);
41 }
42
43 @Test
44 @DataSet
45 public void testGet() {
46 PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.NomenclaturalCode);
47 CdmPreference pref = service.find(key);
48 Assert.assertNotNull("CdmPreference for given key must exist", pref);
49 Assert.assertEquals("ICNAFP", pref.getValue());
50
51 key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.Test);
52 pref = service.find(key);
53 Assert.assertNull("CdmPreference for given key must not exist", pref);
54 }
55
56
57 @Test
58 @DataSet
59 public void testCount() {
60 long countStart = service.count();
61 Assert.assertEquals("There should be 3 preference in the CDM store", 3, countStart);
62 }
63
64 @Test
65 @DataSet
66 public void testPedicate() {
67 List<CdmPreference> list = service.list(PreferencePredicate.Test);
68 long n = list.size();
69 Assert.assertEquals("There should be 2 test preferences in the CDM store", 2, n);
70
71 PreferenceSubject editordistrSubject = PreferenceSubject.NewTaxEditorInstance()
72 .with(PreferenceSubjectEnum.DistributionEditor);
73 PrefKey key = CdmPreference.NewKey(editordistrSubject, PreferencePredicate.Test);
74 CdmPreference pref = service.find(key);
75 Assert.assertEquals("testForDistribution", pref.getValue());
76 }
77
78 @Test
79 @DataSet
80 public void testSet() {
81 long countStart = service.count();
82 Assert.assertEquals(3, countStart);
83
84 CdmPreference pref = CdmPreference.NewDatabaseInstance(PreferencePredicate.Test, "200");
85 service.set(pref);
86 long count = service.count();
87 Assert.assertEquals("There should be 1 new preference", countStart + 1, count);
88
89
90 pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.NomenclaturalCode, "ICZN");
91 service.set(pref);
92
93 count = service.count();
94 Assert.assertEquals("There should be only 1 new preference", countStart + 1, count);
95
96 }
97
98 @Override
99 public void createTestDataSet() throws FileNotFoundException {}
100 }