1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
<?php
class JobeetTestFunctional extends sfTestFunctional
{
public function createJob($values = array(), $publish = false)
{
$this->
get('/en/job/new')->
click('Preview your job', array('job' => array_merge(array(
'company' => 'Sensio Labs',
'url' => 'http://www.sensio.com/',
'position' => 'Developer',
'location' => 'Atlanta, USA',
'description' => 'You will work with symfony to develop websites for our customers.',
'how_to_apply' => 'Send me an email',
'email' => 'for.a.job@example.com',
'is_public' => false,
), $values)))->
followRedirect()
;
if ($publish)
{
$this->
click('Publish', array(), array('method' => 'put', '_with_csrf' => true))->
followRedirect()
;
}
return $this;
}
public function getJobByPosition($position)
{
$q = Doctrine_Query::create()
->from('JobeetJob j')
->where('j.position = ?', $position);
return $q->fetchOne();
}
public function loadData()
{
Doctrine::loadData(sfConfig::get('sf_test_dir').'/fixtures');
return $this;
}
public function getMostRecentProgrammingJob()
{
$q = Doctrine_Query::create()
->select('j.*')
->from('JobeetJob j')
->leftJoin('j.JobeetCategory c')
->leftJoin('c.Translation t')
->where('t.slug = ?', 'programming');
$q = Doctrine::getTable('JobeetJob')->addActiveJobsQuery($q);
return $q->fetchOne();
}
public function getExpiredJob()
{
$q = Doctrine_Query::create()
->from('JobeetJob j')
->where('j.expires_at < ?', date('Y-m-d', time()));
return $q->fetchOne();
}
}
|