package de.superx.common; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.util.Locale; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.test.context.ContextConfiguration; import de.superx.BaseDbTest; import de.superx.TestApplicationConfigPg; import de.superx.TestUtils; import de.superx.servlet.UserInitializer; //@ContextConfiguration(classes = { TestApplicationConfigPg.class }) public class OrgunitLidInBerichtsCodeTest extends BaseDbTest { private static final String USER_NAME = "admin"; private static final String KEY_PHILOSOPHISCHE_FAKULTAET = "04"; private SxUser sxUser = null; @Before public void setupTest() throws Exception { try (Connection conn = dataSource.getConnection(); Statement stmt = conn.createStatement();) { sxUser = TestUtils.initUser(conn, stmt, KEY_PHILOSOPHISCHE_FAKULTAET); } } // dieser Test überprüft, dass - bei entsprechender Feldkonfiguration - die Orgunit des eingeloggten Nutzers in der // Institutionssicht vorbelegt ist @Test public void test10010Vorbelegung() throws Exception { JdbcTemplate jt = new JdbcTemplate(dataSource); Integer maskenTid = Integer.valueOf(10010); // in der Standardauslieferung gibt es eine solche Vorbelegung nicht, daher konfigurieren wir die in der felderinfo direkt jt.execute("UPDATE felderinfo SET defaultwert = " + "'<> SELECT key_apnr, drucktext FROM organigramm WHERE 1 = 1" + " <#if UserHISinOneOrgunitLid??> AND lid = ''${UserHISinOneOrgunitLid}'' " + " AND current_date between gueltig_seit and gueltig_bis;' WHERE tid = 10010;"); //org.h2.tools.Server.startWebServer(dataSource.getConnection().unwrap(org.h2.jdbc.JdbcConnection.class)); Maske maske = new Maske(MANDANTEN_ID, sxUser, maskenTid, Locale.GERMANY); MockHttpServletRequest request = new MockHttpServletRequest(); maske.setFieldDefaults(sxUser, request, true); FieldContainer felder = maske.getIndividualFields(); Field feld = (Field) felder.getByName("Institution"); String vorbelegung = feld.getDefaultValue().getName(); Assert.assertEquals("Die Vorbelegung des Feldes sollte einen anderen Default enthalten", "Philosophische Fakultät", vorbelegung); } }