Passed
Branch master (6a8d47)
by Brice
03:48
created

RepositoryTest::testBuildFromPath()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 17
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 11
nc 1
nop 0
dl 0
loc 17
rs 9.9
c 0
b 0
f 0
1
<?php
2
3
namespace CompoLab\Tests\Domain;
4
5
use CompoLab\Domain\Package;
6
use CompoLab\Domain\Repository;
7
use CompoLab\Domain\ValueObject\Dir;
8
use CompoLab\Domain\ValueObject\File;
9
use CompoLab\Domain\ValueObject\Url;
10
use PHPUnit\Framework\TestCase;
11
12
final class RepositoryTest extends TestCase
13
{
14
    public function testBuildFromPath()
15
    {
16
        $repository = Repository::buildFromPath(
17
            new Url('https://composer.my-website.com'),
18
            new Dir(__DIR__ . '/../../cache'),
19
            __DIR__ . '/../../data/packages.json'
20
        );
21
22
        $this->assertInstanceOf(Url::class, $repository->getBaseUrl());
23
        $this->assertEquals('https://composer.my-website.com/foobar/baz', (string) $repository->getUrl('/foobar/baz'));
24
        $this->assertEquals('https://composer.my-website.com/packages.json', (string) $repository->getIndexUrl());
25
26
        $this->assertInstanceOf(Dir::class, $repository->getCachePath());
27
        $this->assertInstanceOf(File::class, $repository->getIndexFile());
28
29
        $this->assertEquals(4, count($repository));
30
        $this->assertInstanceOf(Package::class, $repository->getPackages()[0]);
31
    }
32
}
33