Exemple #1
0
 /**
  * Test method for deleteWorkshifts().
  */
 public function testDeleteWorkshifts()
 {
     // Parameter is not an array
     try {
         Workshift::deleteWorkshifts(null);
         $this->fail("null parameter allowed");
     } catch (WorkshiftException $e) {
         $this->assertEquals(WorkshiftException::INVALID_PARAMETER, $e->getCode());
     }
     try {
         Workshift::deleteWorkshifts(2);
         $this->fail("integer parameter allowed");
     } catch (WorkshiftException $e) {
         $this->assertEquals(WorkshiftException::INVALID_PARAMETER, $e->getCode());
     }
     // Empty array
     $idArray = array();
     try {
         Workshift::deleteWorkshifts($idArray);
         $this->fail("Empty array allowed");
     } catch (WorkshiftException $e) {
         $this->assertEquals(WorkshiftException::INVALID_PARAMETER, $e->getCode());
     }
     // array contains invalid ids
     $idArray = array(1, 2, -1, 4);
     try {
         Workshift::deleteWorkshifts($idArray);
         $this->fail("Invalid id's allowed");
     } catch (WorkshiftException $e) {
         $this->assertEquals(WorkshiftException::INVALID_ID, $e->getCode());
     }
     $this->assertTrue(mysql_query("INSERT INTO " . Workshift::WORKSHIFT_TABLE . " VALUES ('1' , 'Work shift 1', '5')"));
     $this->assertTrue(mysql_query("INSERT INTO " . Workshift::WORKSHIFT_TABLE . " VALUES ('2' , 'Work shift 2', '5')"));
     $this->assertTrue(mysql_query("INSERT INTO " . Workshift::WORKSHIFT_TABLE . " VALUES ('3' , 'Work shift 3', '5')"));
     $this->assertTrue(mysql_query("INSERT INTO " . Workshift::WORKSHIFT_TABLE . " VALUES ('4' , 'Work shift 4', '5')"));
     // array contains id's not in database
     $idArray = array(1, 2, 23);
     Workshift::deleteWorkshifts($idArray);
     $this->assertEquals(2, $this->_countRows(Workshift::WORKSHIFT_TABLE));
     $this->assertEquals(2, $this->_countRows(Workshift::WORKSHIFT_TABLE, "workshift_id IN (3, 4)"));
     $this->assertTrue(mysql_query("TRUNCATE TABLE `hs_hr_workshift`", $this->connection));
     $this->assertTrue(mysql_query("INSERT INTO " . Workshift::WORKSHIFT_TABLE . " VALUES ('1' , 'Work shift 1', '5')"));
     $this->assertTrue(mysql_query("INSERT INTO " . Workshift::WORKSHIFT_TABLE . " VALUES ('2' , 'Work shift 2', '5')"));
     $this->assertTrue(mysql_query("INSERT INTO " . Workshift::WORKSHIFT_TABLE . " VALUES ('3' , 'Work shift 3', '5')"));
     $this->assertTrue(mysql_query("INSERT INTO " . Workshift::WORKSHIFT_TABLE . " VALUES ('4' , 'Work shift 4', '5')"));
     // array contains valid ids
     $idArray = array(1, 2, 3);
     Workshift::deleteWorkshifts($idArray);
     $this->assertEquals(1, $this->_countRows(Workshift::WORKSHIFT_TABLE));
     $row = $this->_getWorkshift(4);
     $this->assertNotNull($row);
     $this->assertEquals("Work shift 4", $row['name']);
     $this->assertEquals(5, $row['hours_per_day']);
 }