Completed
Push — master ( f3ae79...9c48b0 )
by Daniel
02:18
created

JobBuilderTest::testFromApi()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 23
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 23
rs 9.0856
cc 1
eloc 19
nc 1
nop 0
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
29
        $job = JobBuilder::fromApi($apiJob, 'Brazil');
30
31
        $this->assertEquals('Analista de Sistema para Software de RH', $job->getTitle());
32
        $this->assertInstanceOf(\DateTime::class, $job->getDate());
33
        $this->assertEquals('2016-02-13 08:59:39', $job->getDate()->format('Y-m-d H:i:s'));
34
        $this->assertEquals('Principais atribuições do cargo...', $job->getSnippet());
35
        $this->assertEquals('http://jobviewtrack.com/pt-br/job-12345', $job->getViewUrl());
36
        $this->assertEquals('www.ceviu.com.br', $job->getSource());
37
        $this->assertEquals('Mega Enterprise, Co', $job->getCompany());
38
        $this->assertEquals('São Paulo', $job->getCity());
39
        $this->assertEquals('SP', $job->getState());
40
    }
41
}
42