/**
  * @dataProvider statesDataProvider
  * @param $stateName
  * @param $shortState
  * @throws \Jobles\Careerjet\Exception\CareerjetException
  */
 public function testLocationsAsStateNameSetsShortStateOnJob($stateName, $shortState)
 {
     $this->apiJob->locations = $stateName;
     $this->job = JobWithBrazilianLocationsBuilder::fromApi($this->apiJob, $this->job);
     $this->assertEquals($shortState, $this->job->getState());
     $this->assertEmpty($this->job->getCity());
     $this->assertEquals('Brazil', $this->job->getCountry());
 }
示例#2
0
 /**
  * @param \stdClass $apiJob
  * @param           $country
  *
  * @return Job
  * @throws CareerjetException
  */
 public static function fromApi(\stdClass $apiJob, string $country) : Job
 {
     self::validateJob($apiJob);
     $job = new Job();
     $job->setTitle($apiJob->title);
     $job->setDate(new \DateTime($apiJob->date));
     $job->setSnippet($apiJob->description);
     $job->setViewUrl($apiJob->url);
     if (isset($apiJob->salary_currency_code)) {
         $job->setSalaryCurrencyCode($apiJob->salary_currency_code);
     }
     if (isset($apiJob->salary_min)) {
         $job->setSalaryMin($apiJob->salary_min);
     }
     if (isset($apiJob->salary_max)) {
         $job->setSalaryMax($apiJob->salary_max);
     }
     $job->setCountry($country);
     switch ($country) {
         case 'Brazil':
             $job = JobWithBrazilianLocationsBuilder::fromApi($apiJob, $job);
             break;
         default:
             break;
     }
     $job->setSource($apiJob->site);
     if (!empty($apiJob->company)) {
         $job->setCompany($apiJob->company);
     }
     return $job;
 }
示例#3
0
 public function setUp()
 {
     $jobCollection = new JobCollection();
     $job = new Job();
     $job->setTitle('Job 1');
     $jobCollection->add($job);
     $job = new Job();
     $job->setTitle('Job 2');
     $jobCollection->add($job);
     $this->iterator = new Iterator($jobCollection);
 }
示例#4
0
 public function testisFeatured()
 {
     $this->assertFalse($this->job->isFeatured());
 }
 /**
  * @param \stdClass $apiJob
  * @param Job       $job
  *
  * @return Job
  * @throws CareerjetException
  */
 public static function fromApi(\stdClass $apiJob, Job $job) : Job
 {
     if (!isset($apiJob->locations)) {
         throw new CareerjetException('Invalid API job');
     }
     switch ($apiJob->locations) {
         case 'Brasil':
             break;
         case 'Acre':
             $job->setState('AC');
             break;
         case 'Alagoas':
             $job->setState('AL');
             break;
         case 'Amapá':
         case 'Amapa':
             $job->setState('AP');
             break;
         case 'Amazonas':
             $job->setState('AM');
             break;
         case 'Bahia':
             $job->setState('BA');
             break;
         case 'Ceará':
         case 'Ceara':
             $job->setState('CE');
             break;
         case 'Distrito-Federal':
         case 'Distrito Federal':
             $job->setState('DF');
             break;
         case 'Espírito Santo':
         case 'Espirito Santo':
             $job->setState('ES');
             break;
         case 'Goiás':
         case 'Goias':
             $job->setState('GO');
             break;
         case 'Maranhão':
         case 'Maranhao':
             $job->setState('MA');
             break;
         case 'Mato Grosso':
             $job->setState('MT');
             break;
         case 'Mato Grosso do Sul':
             $job->setState('MS');
             break;
         case 'Minas Gerais':
             $job->setState('MG');
             break;
         case 'Pará':
         case 'Para':
             $job->setState('PA');
             break;
         case 'Paraíba':
         case 'Paraiba':
             $job->setState('PB');
             break;
         case 'Paraná':
         case 'Parana':
             $job->setState('PR');
             break;
         case 'Pernambuco':
             $job->setState('PE');
             break;
         case 'Piauí':
         case 'Piaui':
             $job->setState('PI');
             break;
         case 'Rio de Janeiro':
             $job->setState('RJ');
             break;
         case 'Rio Grande do Norte':
             $job->setState('RN');
             break;
         case 'Rio Grande do Sul':
             $job->setState('RS');
             break;
         case 'Rondônia':
         case 'Rondonia':
             $job->setState('RO');
             break;
         case 'Roraima':
             $job->setState('RR');
             break;
         case 'Santa Catarina':
             $job->setState('SC');
             break;
         case 'São Paulo':
         case 'Sao Paulo':
             $job->setState('SP');
             break;
         case 'Sergipe':
             $job->setState('SE');
             break;
         case 'Tocantins':
             $job->setState('TO');
             break;
         default:
             list($city, $state) = explode(' - ', $apiJob->locations);
             $job->setState($state);
             $job->setCity($city);
             break;
     }
     return $job;
 }