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

RepositoryTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 19
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A testBuildFromPath() 0 17 1
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