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; }
protected function _initCourse($lectures = array()) { $course = new CourseForTest(); $course->setTitle('Course' . mt_rand()); if (count($lectures)) { foreach ($lectures as $lecture) { $course->addToLectures($lecture); } } return $course; }
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()); }