public function testCreate() { $connection = Yii::app()->db; $sql = "delete from reservation"; $command = $connection->createCommand($sql); $command->execute(); $dateOverlapFromObj = new DateTime(); $dateOverlapFrom = $dateOverlapFromObj->format('Y-m-d'); $reservation = new Reservation(); $reservation->setAttributes(array('roomid' => 1, 'datefrom' => $dateOverlapFrom, 'numberofnights' => 10, 'confirmreservation' => true)); $id = $reservation->save(); $reservationdetails = new Reservationdetails(); $reservationdetails->setAttributes(array('reservationid' => $reservation->getAttribute('id'), 'title' => "Mr", 'firstname' => "John", 'lastname' => "Smith", 'contactnumber' => "0123456789", 'emailaddress' => "*****@*****.**", 'city' => "City", 'county' => "County", 'country' => "UK", 'postcode' => "ab12 4cd", 'postaddress' => 'Test postal address', 'otherinfo' => "Test")); $this->assertTrue($reservationdetails->save()); return $reservationdetails; }
/** * Test to make sure a reservation with a datefrom greater than our existing reservation * and dateto after our existing reservations dateto cannot be made. * * Original Reservation |---------------| * Case 5 |------------------| * * @param Reservation $reservation * @depends testNoReservationsAvailable */ public function noReservationsAvailableCase5($reservation) { $newDateFrom = new DateTime(); $newDateFrom = DateTime::createFromFormat('Y-m-d', $this->_dateOverlapFromObj->format('Y-m-d')); $newDateFrom->add(new DateInterval('P1D')); $reservation = new Reservation(); $reservation->setAttributes(array('roomid' => 1, 'datefrom' => $newDateFrom->format('Y-m-d'), 'numberofnights' => $this->_numberofnights + 1)); $this->assertFalse($reservation->save()); }