Search in sources :

Example 86 with ConceptName

use of org.openmrs.ConceptName in project openmrs-core by openmrs.

the class ConceptServiceTest method saveConcept_shouldSaveChangesBetweenConceptNumericAndComplex.

/**
 * @see ConceptService#saveConcept(Concept)
 */
@Test
public void saveConcept_shouldSaveChangesBetweenConceptNumericAndComplex() {
    executeDataSet(INITIAL_CONCEPTS_XML);
    // save a concept numeric
    ConceptNumeric cn = new ConceptNumeric(1);
    cn.setDatatype(new ConceptDatatype(1));
    cn.setConceptClass(new ConceptClass(1));
    cn.addName(new ConceptName("a new conceptnumeric", Locale.US));
    cn.addDescription(new ConceptDescription("some description", null));
    cn.setHiAbsolute(20.0);
    conceptService.saveConcept(cn);
    // confirm that we saved a concept numeric
    Concept firstConcept = conceptService.getConceptNumeric(1);
    assertEquals("a new conceptnumeric", firstConcept.getName(Locale.US).getName());
    assertTrue(firstConcept instanceof ConceptNumeric);
    ConceptNumeric firstConceptNumeric = (ConceptNumeric) firstConcept;
    assertEquals(20.0, firstConceptNumeric.getHiAbsolute(), 0);
    // change to concept complex
    ConceptComplex cn2 = new ConceptComplex(1);
    cn2.setDatatype(new ConceptDatatype(13));
    cn2.setConceptClass(new ConceptClass(1));
    cn2.addName(new ConceptName("a new conceptComplex", Locale.US));
    cn2.addDescription(new ConceptDescription("some description", null));
    cn2.setHandler("SomeHandler");
    conceptService.saveConcept(cn2);
    // confirm that we saved a concept complex
    firstConcept = conceptService.getConceptComplex(1);
    assertEquals("a new conceptComplex", firstConcept.getName(Locale.US).getName());
    assertTrue(firstConcept instanceof ConceptComplex);
    ConceptComplex firstConceptComplex = (ConceptComplex) firstConcept;
    assertEquals("SomeHandler", firstConceptComplex.getHandler());
    // change to concept numeric
    cn = new ConceptNumeric(1);
    ConceptDatatype dt = new ConceptDatatype(1);
    dt.setName("Numeric");
    cn.setDatatype(dt);
    cn.setConceptClass(new ConceptClass(1));
    cn.addName(new ConceptName("a new conceptnumeric", Locale.US));
    cn.addDescription(new ConceptDescription("some description", null));
    cn.setHiAbsolute(20.0);
    conceptService.saveConcept(cn);
    // confirm that we saved a concept numeric
    firstConcept = conceptService.getConceptNumeric(1);
    assertEquals("a new conceptnumeric", firstConcept.getName(Locale.US).getName());
    assertTrue(firstConcept instanceof ConceptNumeric);
    firstConceptNumeric = (ConceptNumeric) firstConcept;
    assertEquals(20.0, firstConceptNumeric.getHiAbsolute(), 0);
    // change to concept complex
    cn2 = new ConceptComplex(1);
    cn2.setDatatype(new ConceptDatatype(13));
    cn2.setConceptClass(new ConceptClass(1));
    cn2.addName(new ConceptName("a new conceptComplex", Locale.US));
    cn2.addDescription(new ConceptDescription("some description", null));
    cn2.setHandler("SomeHandler");
    conceptService.saveConcept(cn2);
    // confirm we saved a concept complex
    firstConcept = conceptService.getConceptComplex(1);
    assertEquals("a new conceptComplex", firstConcept.getName(Locale.US).getName());
    assertTrue(firstConcept instanceof ConceptComplex);
    firstConceptComplex = (ConceptComplex) firstConcept;
    assertEquals("SomeHandler", firstConceptComplex.getHandler());
}
Also used : OpenmrsMatchers.hasConcept(org.openmrs.test.OpenmrsMatchers.hasConcept) Concept(org.openmrs.Concept) ConceptClass(org.openmrs.ConceptClass) ConceptNumeric(org.openmrs.ConceptNumeric) ConceptName(org.openmrs.ConceptName) ConceptDescription(org.openmrs.ConceptDescription) ConceptComplex(org.openmrs.ConceptComplex) ConceptDatatype(org.openmrs.ConceptDatatype) BaseContextSensitiveTest(org.openmrs.test.BaseContextSensitiveTest) Test(org.junit.Test)

Example 87 with ConceptName

use of org.openmrs.ConceptName in project openmrs-core by openmrs.

the class ConceptServiceTest method saveConcept_shouldCreateAReferenceTermForAConceptMappingOnTheFlyWhenCreatingAConcept.

/**
 * @see ConceptService#saveConcept(Concept)
 */
@Test
public void saveConcept_shouldCreateAReferenceTermForAConceptMappingOnTheFlyWhenCreatingAConcept() {
    int initialTermCount = conceptService.getAllConceptReferenceTerms().size();
    Concept concept = new Concept();
    concept.addName(new ConceptName("test name", Context.getLocale()));
    concept.setDatatype(new ConceptDatatype(1));
    concept.setConceptClass(new ConceptClass(1));
    ConceptMap map = new ConceptMap();
    map.getConceptReferenceTerm().setCode("unique code");
    map.getConceptReferenceTerm().setConceptSource(conceptService.getConceptSource(1));
    concept.addDescription(new ConceptDescription("some description", null));
    concept.addConceptMapping(map);
    conceptService.saveConcept(concept);
    Assert.assertNotNull(concept.getId());
    Assert.assertEquals(initialTermCount + 1, conceptService.getAllConceptReferenceTerms().size());
}
Also used : OpenmrsMatchers.hasConcept(org.openmrs.test.OpenmrsMatchers.hasConcept) Concept(org.openmrs.Concept) ConceptClass(org.openmrs.ConceptClass) ConceptName(org.openmrs.ConceptName) ConceptDescription(org.openmrs.ConceptDescription) ConceptMap(org.openmrs.ConceptMap) ConceptDatatype(org.openmrs.ConceptDatatype) BaseContextSensitiveTest(org.openmrs.test.BaseContextSensitiveTest) Test(org.junit.Test)

Example 88 with ConceptName

use of org.openmrs.ConceptName in project openmrs-core by openmrs.

the class ConceptServiceTest method saveConcept_shouldKeepIdForNewConceptIfOneIsSpecified.

/**
 * @see ConceptService#saveConcept(Concept)
 */
@Test
public void saveConcept_shouldKeepIdForNewConceptIfOneIsSpecified() {
    // a nonexistent concept id;
    Integer conceptId = 343434;
    // sanity check
    Assert.assertNull(conceptService.getConcept(conceptId));
    Concept concept = new Concept();
    ConceptName cn = new ConceptName("Weight", Context.getLocale());
    concept.addName(cn);
    concept.addDescription(new ConceptDescription("some description", null));
    concept.setConceptId(conceptId);
    concept.setDatatype(Context.getConceptService().getConceptDatatypeByName("Numeric"));
    concept.setConceptClass(Context.getConceptService().getConceptClassByName("Finding"));
    concept = Context.getConceptService().saveConcept(concept);
    assertTrue(concept.getConceptId().equals(conceptId));
}
Also used : OpenmrsMatchers.hasConcept(org.openmrs.test.OpenmrsMatchers.hasConcept) Concept(org.openmrs.Concept) ConceptName(org.openmrs.ConceptName) ConceptDescription(org.openmrs.ConceptDescription) BaseContextSensitiveTest(org.openmrs.test.BaseContextSensitiveTest) Test(org.junit.Test)

Example 89 with ConceptName

use of org.openmrs.ConceptName in project openmrs-core by openmrs.

the class ConceptServiceTest method saveConcept_shouldSaveNonConceptComplexObjectAsConceptComplex.

/**
 * @see ConceptService#saveConcept(Concept)
 */
@Test
public void saveConcept_shouldSaveNonConceptComplexObjectAsConceptComplex() {
    executeDataSet(INITIAL_CONCEPTS_XML);
    // this tests saving a current concept as a newly changed conceptComplex
    // assumes there is already a concept in the database
    // with a concept id of #1
    ConceptComplex cn = new ConceptComplex(1);
    cn.setDatatype(new ConceptDatatype(13));
    cn.setConceptClass(new ConceptClass(1));
    cn.addName(new ConceptName("a new conceptComplex", Locale.US));
    cn.addDescription(new ConceptDescription("some description", null));
    cn.setHandler("SomeHandler");
    conceptService.saveConcept(cn);
    Concept firstConcept = conceptService.getConceptComplex(1);
    assertEquals("a new conceptComplex", firstConcept.getName(Locale.US).getName());
    assertTrue(firstConcept instanceof ConceptComplex);
    ConceptComplex firstConceptComplex = (ConceptComplex) firstConcept;
    assertEquals("SomeHandler", firstConceptComplex.getHandler());
}
Also used : OpenmrsMatchers.hasConcept(org.openmrs.test.OpenmrsMatchers.hasConcept) Concept(org.openmrs.Concept) ConceptClass(org.openmrs.ConceptClass) ConceptName(org.openmrs.ConceptName) ConceptDescription(org.openmrs.ConceptDescription) ConceptComplex(org.openmrs.ConceptComplex) ConceptDatatype(org.openmrs.ConceptDatatype) BaseContextSensitiveTest(org.openmrs.test.BaseContextSensitiveTest) Test(org.junit.Test)

Example 90 with ConceptName

use of org.openmrs.ConceptName in project openmrs-core by openmrs.

the class ConceptServiceTest method saveConcept_shouldSetAPreferredNameForEachLocaleIfNoneIsMarked.

/**
 * @see ConceptService#saveConcept(Concept)
 */
@Test
public void saveConcept_shouldSetAPreferredNameForEachLocaleIfNoneIsMarked() {
    // add some other locales to locale.allowed.list for testing purposes
    GlobalProperty gp = Context.getAdministrationService().getGlobalPropertyObject(OpenmrsConstants.GLOBAL_PROPERTY_LOCALE_ALLOWED_LIST);
    gp.setPropertyValue(gp.getPropertyValue().concat(",fr,ja,en_GB"));
    Context.getAdministrationService().saveGlobalProperty(gp);
    Concept concept = new Concept();
    concept.addName(new ConceptName("name1", Locale.ENGLISH));
    concept.addName(new ConceptName("name2", Locale.ENGLISH));
    concept.addName(new ConceptName("name3", Locale.FRENCH));
    concept.addName(new ConceptName("name4", Locale.FRENCH));
    concept.addName(new ConceptName("name5", Locale.JAPANESE));
    concept.addName(new ConceptName("name6", Locale.JAPANESE));
    concept.addDescription(new ConceptDescription("some description", null));
    concept.setDatatype(new ConceptDatatype(1));
    concept.setConceptClass(new ConceptClass(1));
    concept = Context.getConceptService().saveConcept(concept);
    Assert.assertNotNull(concept.getPreferredName(Locale.ENGLISH));
    Assert.assertNotNull(concept.getPreferredName(Locale.FRENCH));
    Assert.assertNotNull(concept.getPreferredName(Locale.JAPANESE));
}
Also used : OpenmrsMatchers.hasConcept(org.openmrs.test.OpenmrsMatchers.hasConcept) Concept(org.openmrs.Concept) ConceptClass(org.openmrs.ConceptClass) ConceptName(org.openmrs.ConceptName) ConceptDescription(org.openmrs.ConceptDescription) ConceptDatatype(org.openmrs.ConceptDatatype) GlobalProperty(org.openmrs.GlobalProperty) BaseContextSensitiveTest(org.openmrs.test.BaseContextSensitiveTest) Test(org.junit.Test)

Aggregations

ConceptName (org.openmrs.ConceptName)100 Test (org.junit.Test)78 BaseContextSensitiveTest (org.openmrs.test.BaseContextSensitiveTest)71 Concept (org.openmrs.Concept)62 ConceptDescription (org.openmrs.ConceptDescription)42 ConceptDatatype (org.openmrs.ConceptDatatype)34 ConceptClass (org.openmrs.ConceptClass)33 Locale (java.util.Locale)32 OpenmrsMatchers.hasConcept (org.openmrs.test.OpenmrsMatchers.hasConcept)22 ArrayList (java.util.ArrayList)11 Date (java.util.Date)9 Obs (org.openmrs.Obs)9 BindException (org.springframework.validation.BindException)8 ConceptMap (org.openmrs.ConceptMap)7 Errors (org.springframework.validation.Errors)7 LinkedList (java.util.LinkedList)6 List (java.util.List)6 Patient (org.openmrs.Patient)6 Encounter (org.openmrs.Encounter)5 OrderFrequency (org.openmrs.OrderFrequency)5