package ch.elexis.data; import java.util.List; import org.junit.Test; import ch.elexis.core.exceptions.ElexisException; import ch.elexis.core.types.AddressType; import ch.elexis.data.dto.ZusatzAdresseDTO; import ch.rgw.tools.JdbcLink; import junit.framework.Assert; public class Test_ZusatzAdresse extends AbstractPersistentObjectTest { public Test_ZusatzAdresse(JdbcLink link){ super(link); } @Test(expected = ElexisException.class) public void TestZusatzAdresseWithoutKontakt() throws ElexisException{ ZusatzAdresseDTO zusatzAdresseDTO = new ZusatzAdresseDTO(); zusatzAdresseDTO.setAddressType(AddressType.ATTACHMENT_FIGURE); zusatzAdresseDTO.setCountry("A"); zusatzAdresseDTO.setStreet1("Teststreet 1"); zusatzAdresseDTO.setKontaktId("1"); zusatzAdresseDTO.setZip("1010"); zusatzAdresseDTO.setPlace("Vienna"); zusatzAdresseDTO.setStreet2("Teststreet 2"); zusatzAdresseDTO.setKontaktId(null); ZusatzAdresse zusatzAdresse = ZusatzAdresse.load(null); zusatzAdresse.persistDTO(zusatzAdresseDTO); } @Test public void TestZusatzAdresseWithKontakt() throws ElexisException{ Patient patient = new Patient("Mustermann", "Max", "1.1.2000", "m"); ZusatzAdresseDTO zusatzAdresseDTO = new ZusatzAdresseDTO(); zusatzAdresseDTO.setAddressType(AddressType.ATTACHMENT_FIGURE); zusatzAdresseDTO.setCountry("A"); zusatzAdresseDTO.setStreet1("Teststreet 1"); zusatzAdresseDTO.setKontaktId("1"); zusatzAdresseDTO.setZip("1010"); zusatzAdresseDTO.setPlace("Vienna"); zusatzAdresseDTO.setStreet2("Teststreet 2"); zusatzAdresseDTO.setKontaktId(patient.getId()); ZusatzAdresse zusatzAdresse = ZusatzAdresse.load(null); zusatzAdresse.persistDTO(zusatzAdresseDTO); List<ZusatzAdresse> zusatzAdressen = patient.getZusatzAdressen(); Assert.assertTrue(zusatzAdressen.size() == 1); ZusatzAdresse savedZusatzAdresse = zusatzAdressen.get(0); Assert.assertNotNull(savedZusatzAdresse.getId()); Assert.assertEquals("Teststreet 1", savedZusatzAdresse.getDTO().getStreet1()); Assert.assertEquals("Teststreet 1", savedZusatzAdresse.get(ZusatzAdresse.STREET1)); Assert.assertEquals(savedZusatzAdresse.getId(), savedZusatzAdresse.getDTO().getId()); Assert.assertEquals(savedZusatzAdresse.get(ZusatzAdresse.KONTAKT_ID), savedZusatzAdresse.getDTO().getKontaktId()); } @Test public void TestZusatzAdresseWithoutDTOPersisting() throws ElexisException{ Patient patient = new Patient("Mustermann", "Max", "1.1.2000", "m"); ZusatzAdresse zusatzAdresse = new ZusatzAdresse(patient); zusatzAdresse.set(new String[] { ZusatzAdresse.STREET1, ZusatzAdresse.TYPE }, new String[] { "Teststreet 2", String.valueOf(AddressType.FAMILY_FRIENDS.getValue()) }); List<ZusatzAdresse> zusatzAdressen = patient.getZusatzAdressen(); Assert.assertTrue(zusatzAdressen.size() == 1); ZusatzAdresse savedZusatzAdresse = zusatzAdressen.get(0); Assert.assertNotNull(savedZusatzAdresse.getId()); Assert.assertEquals("Teststreet 2", savedZusatzAdresse.getDTO().getStreet1()); Assert.assertEquals("Teststreet 2", savedZusatzAdresse.get(ZusatzAdresse.STREET1)); Assert.assertEquals(String.valueOf(AddressType.FAMILY_FRIENDS.getValue()), savedZusatzAdresse.get(ZusatzAdresse.TYPE)); Assert.assertEquals(savedZusatzAdresse.getId(), savedZusatzAdresse.getDTO().getId()); Assert.assertEquals(savedZusatzAdresse.get(ZusatzAdresse.KONTAKT_ID), savedZusatzAdresse.getDTO().getKontaktId()); } }