reusing 'Test Course' if already created - refs BT#17453

pull/3367/merge^2
Sébastien Ducoulombier 5 years ago
parent f9c228f88a
commit e2fa09759e
  1. 126
      main/webservices/api/tests/CreateLearningPathTest.php

@ -19,7 +19,7 @@ require_once __DIR__.'/../../../../vendor/autoload.php';
/** /**
* Class CreateLearningPathTest * Class CreateLearningPathTest
* *
* SUBSCRIBE_USER_TO_SESSION_FROM_USERNAME webservice unit tests * CREATE_LEARNINGPATH webservice unit tests
*/ */
class CreateLearningPathTest extends V2TestCase class CreateLearningPathTest extends V2TestCase
{ {
@ -44,9 +44,6 @@ class CreateLearningPathTest extends V2TestCase
/** @var CQuiz */ /** @var CQuiz */
public static $quiz; public static $quiz;
/** @var CLp[] */
public static $learningPaths;
public function action() public function action()
{ {
return Rest::CREATE_LEARNINGPATH; return Rest::CREATE_LEARNINGPATH;
@ -63,73 +60,71 @@ class CreateLearningPathTest extends V2TestCase
{ {
parent::setUpBeforeClass(); parent::setUpBeforeClass();
// create a test session self::$session = Session::getRepository()->findOneByName('Test Session');
self::$session = (new Session()) if (is_null(self::$session)) {
->setName('Test Session '.time()); self::$session = (new Session())
Database::getManager()->persist(self::$session); ->setName('Test Session');
Database::getManager()->persist(self::$session);
// create a test course Database::getManager()->flush();
self::$course = (new Course()) }
->setCode('TESTCOURSE'.time())
->setTitle('Test Course '.time());
Database::getManager()->persist(self::$course);
Database::getManager()->flush(self::$course); // ensures the course directory is initialized
// create a test category
self::$category = (new CLpCategory())
->setCourse(self::$course)
->setName('Test Category '.time());
Database::getManager()->persist(self::$category);
// create course elements
self::$document = CDocument::fromFile(
__FILE__,
self::$course,
'test_document'.time().'.txt',
'Test Document'.time()
);
Database::getManager()->persist(self::$document);
self::$forum = (new CForumForum()) self::$course = Course::getRepository()->findOneByCode('TESTCOURSE');
->setCourse(self::$course) if (is_null(self::$course)) {
->setForumTitle('Test Forum '.time()); self::$course = (new Course())
Database::getManager()->persist(self::$forum); ->setCode('TESTCOURSE')
->setTitle('Test Course');
Database::getManager()->persist(self::$course);
Database::getManager()->flush();
}
self::$link = (new CLink()) self::$category = CLpCategory::getRepository()->findOneByName('Test Category');
->setCourse(self::$course) if (is_null(self::$category)) {
->setTitle('Test Link '.time()) self::$category = (new CLpCategory())
->setUrl('https://chamilo.org/'); ->setCourse(self::$course)
Database::getManager()->persist(self::$link); ->setName('Test Category');
Database::getManager()->persist(self::$category);
Database::getManager()->flush();
}
self::$quiz = (new CQuiz()) self::$document = CDocument::getRepository()->findOneByTitle('Test Document');
->setCourse(self::$course) if (is_null(self::$document)) {
->setTitle('Test Quiz '.time()); self::$document = CDocument::fromFile(
Database::getManager()->persist(self::$quiz); __FILE__,
self::$course,
'test_document.txt',
'Test Document'
);
Database::getManager()->persist(self::$document);
Database::getManager()->flush();
}
Database::getManager()->flush(); self::$forum = CForumForum::getRepository()->findOneByForumTitle('Test Forum');
if (is_null(self::$forum)) {
self::$forum = (new CForumForum())
->setCourse(self::$course)
->setForumTitle('Test Forum');
Database::getManager()->persist(self::$forum);
Database::getManager()->flush();
}
self::$learningPaths = []; self::$link = Clink::getRepository()->findOneByTitle('Test Link');
} if (is_null(self::$link)) {
self::$link = (new CLink())
->setCourse(self::$course)
->setTitle('Test Link ')
->setUrl('https://chamilo.org/');
Database::getManager()->persist(self::$link);
Database::getManager()->flush();
}
/** self::$quiz = CQuiz::getRepository()->findOneByTitle('Test Quiz');
* @inheritDoc if (is_null(self::$quiz)) {
* self::$quiz = (new CQuiz())
* @throws OptimisticLockException ->setCourse(self::$course)
*/ ->setTitle('Test Quiz ');
public static function tearDownAfterClass(): void Database::getManager()->persist(self::$quiz);
{ Database::getManager()->flush();
parent::tearDownAfterClass();
foreach (self::$learningPaths as $learningPath) {
Database::getManager()->remove($learningPath);
} }
Database::getManager()->remove(self::$quiz);
Database::getManager()->remove(self::$link);
Database::getManager()->remove(self::$forum);
Database::getManager()->remove(self::$document);
Database::getManager()->remove(self::$category);
Database::getManager()->remove(self::$course);
Database::getManager()->remove(self::$session);
Database::getManager()->flush();
} }
/** /**
@ -154,7 +149,6 @@ class CreateLearningPathTest extends V2TestCase
// assert the learning path was created // assert the learning path was created
/** @var CLp $learningPath */ /** @var CLp $learningPath */
$learningPath = CLp::getRepository()->find($learningPathId); $learningPath = CLp::getRepository()->find($learningPathId);
self::$learningPaths[] = $learningPath;
self::assertNotNull($learningPath); self::assertNotNull($learningPath);
// in the right course // in the right course
@ -190,7 +184,6 @@ class CreateLearningPathTest extends V2TestCase
// assert the learning path was created // assert the learning path was created
/** @var CLp $learningPath */ /** @var CLp $learningPath */
$learningPath = CLp::getRepository()->find($learningPathId); $learningPath = CLp::getRepository()->find($learningPathId);
self::$learningPaths[] = $learningPath;
self::assertNotNull($learningPath); self::assertNotNull($learningPath);
// in the right session, course and category // in the right session, course and category
@ -308,7 +301,6 @@ class CreateLearningPathTest extends V2TestCase
// assert the learning path was created as specified // assert the learning path was created as specified
/** @var CLp $learningPath */ /** @var CLp $learningPath */
$learningPath = CLp::getRepository()->find($learningPathId); $learningPath = CLp::getRepository()->find($learningPathId);
self::$learningPaths[] = $learningPath;
self::assertNotNull($learningPath); self::assertNotNull($learningPath);
self::assertEquals(self::$session->getId(), $learningPath->getSessionId()); self::assertEquals(self::$session->getId(), $learningPath->getSessionId());

Loading…
Cancel
Save