/** * @brief get data of all jobs using uploadpk * @return a json jobqueue data. **/ protected function getJobs($uploadPk) { $page = GetParm('page', PARM_INTEGER); if ($uploadPk > 0) { $upload_pks = array($uploadPk); $jobs = $this->showJobsDao->uploads2Jobs($upload_pks, $page); } else { $allusers = GetParm("allusers", PARM_INTEGER); $jobs = $this->showJobsDao->myJobs($allusers); } $jobsInfo = $this->showJobsDao->getJobInfo($jobs, $page); usort($jobsInfo, array($this, "compareJobsInfo")); $showJobData = $this->show($jobsInfo, $page); return new JsonResponse($showJobData); }
public function testMyJobs() { $groupId = 2; $GLOBALS['SysConf']['auth'][Auth::GROUP_ID] = $groupId; $GLOBALS['SysConf']['auth'][Auth::USER_ID] = 1; $this->uploadPermissionDao->shouldReceive('isAccessible')->withArgs(array(anything(), $groupId))->andReturnUsing(function ($upload, $group) { return $upload == 1 || $upload == 2 || $upload == 4; }); $testOurJobs = $this->showJobsDao->myJobs(true); assertThat($testOurJobs, is(arrayContainingInAnyOrder($this->job_pks))); $testMyJobs = $this->showJobsDao->myJobs(false); assertThat($testMyJobs, equalTo(array(1))); $this->dbManager->queryOnce("UPDATE job SET job_queued=job_queued-INTERVAL '30 days' WHERE job_pk=1"); $this->dbManager->prepare(__METHOD__ . 'insert.perm_upload', "INSERT INTO perm_upload (perm_upload_pk, perm, upload_fk, group_fk) VALUES (\$1, \$2, \$3, \$4)"); $testOutdatedJobs = $this->showJobsDao->myJobs(true); assertThat($testOutdatedJobs, equalTo(array(2))); }