diff --git a/include/studienordnung.class.php b/include/studienordnung.class.php index c7b7e3453..55b1c1a74 100644 --- a/include/studienordnung.class.php +++ b/include/studienordnung.class.php @@ -39,7 +39,7 @@ class studienordnung extends basis_db protected $gueltigvon; // varchar (FK Studiensemester) protected $gueltigbis; // varchar (FK Studiensemester) protected $studiengangbezeichnung; // varchar (256) - protected $studiengangbezeichnung_english; // varchar (256) + protected $studiengangbezeichnung_englisch; // varchar (256) protected $studiengangkurzbzlang;// varchar (256) protected $akadgrad_id; // integer (FK akadgrad) protected $max_semester; // smallint @@ -64,7 +64,12 @@ class studienordnung extends basis_db { case 'test': if ($value=='test') - throw new Exception('UnitTest: "Studiengang_KZ could not be set!"'); + throw new Exception('UnitTest: "This is a test!"'); + $this->$name=$value; + break; + case 'studiengang_kz': + if (!is_numeric($value)) + throw new Exception('Attribute studiengang_kz mus be numeric!"'); $this->$name=$value; break; default: @@ -72,6 +77,18 @@ class studienordnung extends basis_db } } + public function __get($name) + { + switch ($name) + { + case 'test': + throw new Exception('UnitTest: "This is a test!"'); + break; + default: + return $this->$name; + } + } + /** * Laedt die Studienordnung mit der ID $studienordnung_id * @param $adress_id ID der zu ladenden Adresse @@ -87,7 +104,7 @@ class studienordnung extends basis_db } //Daten aus der Datenbank lesen - $qry = "SELECT * FROM lehre.tbl_adresse WHERE studienordnung_id=".$this->db_add_param($studienordnung_id, FHC_INTEGER, false); + $qry = "SELECT * FROM lehre.tbl_studienordnung WHERE studienordnung_id=".$this->db_add_param($studienordnung_id, FHC_INTEGER, false); if(!$this->db_query($qry)) { @@ -186,7 +203,7 @@ class studienordnung extends basis_db */ protected function validate() { - //Zahlenfelder pruefen + /*//Zahlenfelder pruefen if(!is_numeric($this->person_id) && $this->person_id!='') { $this->errormsg='person_id enthaelt ungueltige Zeichen'; @@ -223,7 +240,7 @@ class studienordnung extends basis_db $this->errormsg = 'Gemeinde darf nicht länger als 255 Zeichen sein'; return false; } - +*/ $this->errormsg = ''; return true; } @@ -242,23 +259,22 @@ class studienordnung extends basis_db if($this->new) { + echo $this->studiengang_kz; //Neuen Datensatz einfuegen - $qry='BEGIN;INSERT INTO public.tbl_adresse (person_id, name, strasse, plz, typ, ort, nation, insertamum, insertvon, - gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon, ext_id) VALUES('. - $this->db_add_param($this->person_id, FHC_INTEGER).', '. - $this->db_add_param($this->name).', '. - $this->db_add_param($this->strasse).', '. - $this->db_add_param($this->plz).', '. - $this->db_add_param(trim($this->typ)).', '. - $this->db_add_param($this->ort).', '. - $this->db_add_param($this->nation).', now(), '. - $this->db_add_param($this->insertvon).', '. - $this->db_add_param($this->gemeinde).', '. - $this->db_add_param($this->heimatadresse,FHC_BOOLEAN, false).', '. - $this->db_add_param($this->zustelladresse,FHC_BOOLEAN, false).', '. - $this->db_add_param($this->firma_id, FHC_INTEGER).', now(), '. - $this->db_add_param($this->updatevon).', '. - $this->db_add_param($this->ext_id, FHC_INTEGER).');'; + $qry='BEGIN;INSERT INTO lehre.tbl_studienordnung (studiengang_kz, version, bezeichnung, ects, gueltigvon, gueltigbis, studiengangbezeichnung, studiengangbezeichnung_englisch, studiengangkurzbzlang, akadgrad_id, max_semester, insertamum, insertvon) VALUES ('. + $this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '. + $this->db_add_param($this->version).', '. + $this->db_add_param($this->bezeichnung).', '. + $this->db_add_param($this->ects).', '. + $this->db_add_param($this->gueltigvon).', '. + $this->db_add_param($this->gueltigbis).', '. + $this->db_add_param($this->studiengangbezeichnung).', '. + $this->db_add_param($this->studiengangbezeichnung_englisch).', '. + $this->db_add_param($this->studiengangkurzbzlang).', '. + $this->db_add_param($this->akadgrad_id,FHC_INTEGER).', '. + $this->db_add_param($this->max_semester,FHC_INTEGER).', now(), '. + $this->db_add_param($this->insertvon).');'; + echo $qry; } else { @@ -268,21 +284,21 @@ class studienordnung extends basis_db $this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein'; return false; } - $qry='UPDATE public.tbl_adresse SET'. - ' person_id='.$this->db_add_param($this->person_id, FHC_INTEGER).', '. - ' name='.$this->db_add_param($this->name).', '. - ' strasse='.$this->db_add_param($this->strasse).', '. - ' plz='.$this->db_add_param($this->plz).', '. - ' typ='.$this->db_add_param(trim($this->typ)).', '. - ' ort='.$this->db_add_param($this->ort).', '. - ' nation='.$this->db_add_param($this->nation).', '. - ' gemeinde='.$this->db_add_param($this->gemeinde).', '. - ' firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).','. + $qry='UPDATE public.tbl_studienordnung SET'. + ' studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '. + ' version='.$this->db_add_param($this->version).', '. + ' bezeichnung='.$this->db_add_param($this->bezeichnung).', '. + ' ects='.$this->db_add_param($this->ects).', '. + ' gueltigvon='.$this->db_add_param(trim($this->gueltigvon)).', '. + ' gueltigbis='.$this->db_add_param($this->gueltigbis).', '. + ' studiengangbezeichnung='.$this->db_add_param($this->studiengangbezeichnung).', '. + ' studiengangbezeichnung_englisch='.$this->db_add_param($this->studiengangbezeichnung_englisch).', '. + ' studiengangkurzbzlang='.$this->db_add_param($this->studiengangkurzbzlang, FHC_INTEGER).','. + ' akadgrad_id='.$this->db_add_param($this->akadgrad_id, FHC_BOOLEAN, false).', '. + ' max_semester='.$this->db_add_param($this->max_semester, FHC_BOOLEAN, false).' '. ' updateamum= now(), '. ' updatevon='.$this->db_add_param($this->updatevon).', '. - ' heimatadresse='.$this->db_add_param($this->heimatadresse, FHC_BOOLEAN, false).', '. - ' zustelladresse='.$this->db_add_param($this->zustelladresse, FHC_BOOLEAN, false).' '. - 'WHERE studienordnung_id='.$this->db_add_param($this->studienordnung_id, FHC_INTEGER, false).';'; + ' WHERE studienordnung_id='.$this->db_add_param($this->studienordnung_id, FHC_INTEGER, false).';'; } if($this->db_query($qry)) @@ -290,7 +306,7 @@ class studienordnung extends basis_db if($this->new) { //naechste ID aus der Sequence holen - $qry="SELECT currval('public.tbl_adresse_studienordnung_id_seq') as id;"; + $qry="SELECT currval('public.tbl_studienordnung_id_seq') as id;"; if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -337,7 +353,7 @@ class studienordnung extends basis_db } //loeschen des Datensatzes - $qry="DELETE FROM public.tbl_adresse WHERE studienordnung_id=".$this->db_add_param($studienordnung_id, FHC_INTEGER, false).";"; + $qry="DELETE FROM public.tbl_studienordnung WHERE studienordnung_id=".$this->db_add_param($studienordnung_id, FHC_INTEGER, false).";"; if($this->db_query($qry)) { diff --git a/system/UnitTests/ut_studienordnung.php b/system/UnitTests/ut_studienordnung.php index 2d1a20c9a..a1b577d19 100644 --- a/system/UnitTests/ut_studienordnung.php +++ b/system/UnitTests/ut_studienordnung.php @@ -27,29 +27,68 @@ require_once(dirname(__FILE__).'/../../config/system.config.inc.php'); require_once(dirname(__FILE__).'/../../include/studienordnung.class.php'); $errormsg=''; -$studienordnung=new studienordnung(); -try +class ut_studienordnung //extends PHPUnit_Framework_TestCase { - $studienordnung->studiengang_kz=0; - $studienordnung->version='bla'; + protected $studienordnung; + + public function setUp() + { + $this->studienordnung=new studienordnung(); + } + + public function testAttributes() + { + try + { + //$studienordnung->test='test'; + $this->studienordnung->studiengang_kz='0'; + //$this->assertEquals(0, $this->studienordnung->studiengang_kz); + $this->studienordnung->version='bla'; + $this->studienordnung->bezeichnung='bla'; + $this->studienordnung->ects='3.2'; + $this->studienordnung->gueltigvon='WS2012'; + $this->studienordnung->gueltigbis='SS2014'; + $this->studienordnung->studiengangbezeichnung='Unit Test'; + $this->studienordnung->studiengangbezeichnung_englisch='Unit Test English'; + $this->studienordnung->studiengangkurzbzlang='UnitTest'; + $this->studienordnung->akadgrad_id='0'; + $this->studienordnung->max_semester='6'; + //$this->studienordnung->validate(); + // + } + catch (Exception $exc) + { + $errormsg.=$exc->getMessage().$this->studienordnung->errormsg; + return; + } + } + + public function testSaveStudienordnungInsert() + { + try + { + $this->studienordnung->save(); + } + catch (Exception $exc) + { + $errormsg.=$exc->getMessage().$this->studienordnung->errormsg; + return; + } + + $this->fail(); + } } -catch (Exception $exc) -{ - $errormsg=$exc->getMessage()'.$studienordnung->errormsg; - die($errormsg); -} -/* private $version; // varchar (256) - private $bezeichnung; // varchar (512) - private $ects; // numeric (5,2) - private $gueltigvon; // varchar (FK Studiensemester) - private $gueltigbis; // varchar (FK Studiensemester) - private $studiengangbezeichnung; // varchar (256) - private $studiengangbezeichnung_english; // varchar (256) - private $studiengangkurzbzlang;// varchar (256) - private $akadgrad_id; // integer (FK akadgrad) - private $max_semester; // smallint +/* + */ -echo 'OK
'; +$obj=new ut_studienordnung(); +$obj->setUp(); +$obj->testAttributes(); +$obj->testSaveStudienordnungInsert(); +if ($errormsg=='') + echo 'OK
'; +else + echo $errormsg ?>