function _createCourse() { $course = new CourseForTest(); $course->setTitle('General Course'); $course->save(); return $course; }
function _createCourseWithTwoLectures() { $course = new CourseForTest(); $course->setTitle($title = 'General Course'); $l1 = new LectureForTest(); $l1->setTitle('Physics'); $l2 = new LectureForTest(); $l2->setTitle('Math'); $course->addToLectures($l1); $course->addToLectures($l2); $course->save(); return $course; }
function createCourse($program = null) { $course = new CourseForTest(); $course->setTitle('Course_' . rand(0, 100)); if ($program) { $course->setProgram($program); } $course->save(); return $course; }
function testCorrectUsageCrossRelations() { $program = new ProgramForTest(); $program->setTitle('Program'); $program->save(); $course = new CourseForTest(); $course->setProgram($program); $course->save(); $lecture = new LectureForTest(); $lecture->setCourse($course); $lecture->setCachedProgram($program); $lecture->save(); try { $finded_lectures = $program->getCachedLectures()->find(array('join' => array('course')))->getArray(); } catch (lmbException $e) { $this->assertTrue(false); } }
function testAddingToCollectionDoesntMakeExistingObjectDirty() { $course = new CourseForTest(); $course->setTitle('course'); $course->save(); $lecture = new LectureForTest(); $course->addToLectures($lecture); $this->assertFalse($course->isDirty()); }
function testImportResetsExistingOne2ManyCollection() { $course = new CourseForTest(); $course->setTitle('Some course'); $l1 = new LectureForTest(); $l1->setTitle('Physics'); $l2 = new LectureForTest(); $l2->setTitle('Math'); $course->addToLectures($l1); $course->addToLectures($l2); $course->save(); $source = array('title' => $course->getTitle(), 'lectures' => array($l2->getId())); $course2 = new CourseForTest($course->getId()); $course2->import($source); $this->assertEqual($course2->getTitle(), $course->getTitle()); $this->assertEqual($course2->getLectures()->count(), 1); $this->assertEqual($course2->getLectures()->at(0)->getTitle(), $l2->getTitle()); }