SuperX-Kernmodul
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

55 lines
2.5 KiB

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 = " +
"'<<SQL>> SELECT key_apnr, drucktext FROM organigramm WHERE 1 = 1" +
" <#if UserHISinOneOrgunitLid??> AND lid = ''${UserHISinOneOrgunitLid}'' </#if>" +
" 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);
}
}