/** * @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()); }
/** * @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; }
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); }
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; }