TripalJobsApiTest.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace Tests\tripal\api;
  3. use StatonLab\TripalTestSuite\DBTransaction;
  4. use StatonLab\TripalTestSuite\TripalTestCase;
  5. class TripalJobsApiTest extends TripalTestCase{
  6. use DBTransaction;
  7. /**
  8. * Tests the ability to create a tripal job.
  9. *
  10. * @test
  11. */
  12. public function testCreatingAJobWorks() {
  13. $job_id = tripal_add_job('Test adding jobs', 'tripal',
  14. 'tripal_tripal_cron_notification', [], 1);
  15. $this->assertTrue(is_numeric($job_id));
  16. }
  17. /** @test */
  18. public function testRetrievingAJob() {
  19. $job = factory('tripal_jobs')->create();
  20. $job2 = tripal_get_job($job->job_id);
  21. $this->assertNotEmpty($job2);
  22. $this->assertObjectHasAttribute('job_id', $job2);
  23. $this->assertEquals($job2->job_id, $job->job_id);
  24. }
  25. /** @test */
  26. public function testRetrievingActiveJobs() {
  27. factory('tripal_jobs')->create();
  28. $jobs = tripal_get_active_jobs();
  29. $this->assertNotEmpty($jobs);
  30. }
  31. /** @test */
  32. public function testRetrievingActiveJobsWithAGivenModule() {
  33. factory('tripal_jobs')->create([
  34. 'modulename' => 'tripal_test_suite',
  35. 'status' => 'Running',
  36. ]);
  37. $jobs = tripal_get_active_jobs('tripal_test_suite');
  38. $this->assertNotEmpty($jobs);
  39. }
  40. /** @test */
  41. public function testRetrievingCompletedJobsDoesNotHappen() {
  42. factory('tripal_jobs')->create([
  43. 'modulename' => 'tripal_test_suite',
  44. 'status' => 'Completed',
  45. ]);
  46. $jobs = tripal_get_active_jobs('tripal_test_suite');
  47. $this->assertEmpty($jobs);
  48. }
  49. }