|
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->assertEmpty($job->getState()); |
|
50
|
|
|
$this->assertEmpty($job->getCity()); |
|
51
|
|
|
} |
|
52
|
|
|
} |
|
53
|
|
|
|