1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace Jobles\Tests\Careerjet\Builder; |
4
|
|
|
|
5
|
|
|
use Jobles\Careerjet\Builder\JobBuilder; |
6
|
|
|
use Jobles\Careerjet\Exception\CareerjetException; |
7
|
|
|
|
8
|
|
|
class JobBuilderTest extends \PHPUnit_Framework_TestCase |
9
|
|
|
{ |
10
|
|
|
public function testFromApiShouldThrowCareerjetExceptionOnInvalidData() |
11
|
|
|
{ |
12
|
|
|
$this->expectException(CareerjetException::class); |
13
|
|
|
$this->expectExceptionMessage('Invalid API job'); |
14
|
|
|
|
15
|
|
|
JobBuilder::fromApi(new \stdClass, 'Brazil'); |
16
|
|
|
} |
17
|
|
|
|
18
|
|
|
public function testFromApi() |
19
|
|
|
{ |
20
|
|
|
$apiJob = new \stdClass; |
21
|
|
|
$apiJob->title = 'Analista de Sistema para Software de RH'; |
22
|
|
|
$apiJob->date = 'Sat, 13 Feb 2016 08:59:39 GMT'; |
23
|
|
|
$apiJob->description = 'Principais atribuições do cargo...'; |
24
|
|
|
$apiJob->url = 'http://jobviewtrack.com/pt-br/job-12345'; |
25
|
|
|
$apiJob->site = 'www.ceviu.com.br'; |
26
|
|
|
$apiJob->company = 'Mega Enterprise, Co'; |
27
|
|
|
$apiJob->locations = 'São Paulo - SP'; |
28
|
|
|
$apiJob->salary_currency_code = 'BRL'; |
29
|
|
|
$apiJob->salary_min = '1000'; |
30
|
|
|
$apiJob->salary_max = '2000'; |
31
|
|
|
|
32
|
|
|
$job = JobBuilder::fromApi($apiJob, 'Brazil'); |
33
|
|
|
|
34
|
|
|
$this->assertEquals('Analista de Sistema para Software de RH', $job->getTitle()); |
35
|
|
|
$this->assertInstanceOf(\DateTime::class, $job->getDate()); |
36
|
|
|
$this->assertEquals('2016-02-13 08:59:39', $job->getDate()->format('Y-m-d H:i:s')); |
37
|
|
|
$this->assertEquals('Principais atribuições do cargo...', $job->getSnippet()); |
38
|
|
|
$this->assertEquals('http://jobviewtrack.com/pt-br/job-12345', $job->getViewUrl()); |
39
|
|
|
$this->assertEquals('www.ceviu.com.br', $job->getSource()); |
40
|
|
|
$this->assertEquals('Mega Enterprise, Co', $job->getCompany()); |
41
|
|
|
$this->assertEquals('São Paulo', $job->getCity()); |
42
|
|
|
$this->assertEquals('SP', $job->getState()); |
43
|
|
|
$this->assertEquals('BRL', $job->getSalaryCurrencyCode()); |
44
|
|
|
$this->assertEquals('1000', $job->getSalaryMin()); |
45
|
|
|
$this->assertEquals('2000', $job->getSalaryMax()); |
46
|
|
|
|
47
|
|
|
$job = JobBuilder::fromApi($apiJob, 'China'); |
48
|
|
|
|
49
|
|
|
$this->assertNull($job->getState()); |
50
|
|
|
$this->assertNull($job->getCity()); |
51
|
|
|
} |
52
|
|
|
} |
53
|
|
|
|