if (empty($requestObject->scheduleStartDate) === true) { throw new InvalidArgumentException("please input schedule start date", 405); } //perform the actual put or post if ($method === "PUT") { $schedule = Schedule::getScheduleByScheduleId($pdo, $id); if ($schedule === null) { throw new RuntimeException("Schedule does not exist", 404); } $schedule = new Schedule($id, $requestObject->scheduleCrewId, $requestObject->scheduleStartDate); $schedule->update($pdo); $reply->message = "Schedule updated OK"; } else { if ($method === "POST") { $schedule = new Schedule(null, $requestObject->scheduleCrewId, $requestObject->scheduleStartDate); $schedule->insert($pdo); $reply->message = "Schedule created OK"; } } } else { if ($method === "DELETE") { verifyXsrf(); $schedule = Schedule::getScheduleByScheduleId($pdo, $id); if ($schedule === null) { throw new RuntimeException("Schedule does not exist", 404); } $schedule->delete($pdo); $deletedObject = new stdClass(); $deletedObject->scheduleId = $id; $reply->message = "Schedule deleted OK"; }
/** * test grabbing all Schedules **/ public function testGetAllValidSchedules() { // count the number of rows and save it for later $numRows = $this->getConnection()->getRowCount("schedule"); // create a new Schedule and insert to into mySQL $schedule = new Schedule(null, $this->crew->getCrewId(), $this->VALID_SCHEDULESTARTDATE); $schedule->insert($this->getPDO()); // grab the data from mySQL and enforce the fields match our expectations $results = Schedule::getAllSchedules($this->getPDO()); $this->assertEquals($numRows + 1, $this->getConnection()->getRowCount("schedule")); $this->assertCount(1, $results); $this->assertContainsOnlyInstancesOf("Edu\\Cnm\\Timecrunchers\\Schedule", $results); // grab the result from the array and validate it $pdoSchedule = $results[0]; $this->assertEquals($pdoSchedule->getScheduleCrewId(), $this->crew->getCrewId()); $this->assertSame($pdoSchedule->getScheduleStartDate()->format("Y:m:d"), $schedule->getScheduleStartDate()->format("Y:m:d")); }