Completed
Pull Request — master (#13)
by
unknown
03:54
created

ApiServiceBuilderTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 30
rs 10
c 0
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A itShouldBuildAnApiService() 0 6 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace ElevenLabs\Api\Service\Tests;
6
7
use ElevenLabs\Api\Schema;
8
use ElevenLabs\Api\Service\ApiService;
9
use ElevenLabs\Api\Service\ApiServiceBuilder;
10
use PHPUnit\Framework\TestCase;
11
use Psr\Cache\CacheItemInterface;
12
use Psr\Cache\CacheItemPoolInterface;
13
14
/**
15
 * Class ApiServiceBuilderTest.
16
 */
17
class ApiServiceBuilderTest extends TestCase
18
{
19
    /** @test */
20
    public function itShouldBuildAnApiService()
21
    {
22
        $schemaFixture = __DIR__.'/fixtures/httpbin.yml';
23
        $apiService = ApiServiceBuilder::create()->build('file://'.$schemaFixture);
24
25
        $this->assertInstanceOf(ApiService::class, $apiService);
26
    }
27
28
    /** @test */
29
    public function itShouldBuildAnApiServiceFromCache()
30
    {
31
        $schemaFile = 'file://fake-schema.yml';
32
33
        $schema = $this->prophesize(Schema::class);
34
        $schema->getSchemes()->willReturn(['https']);
35
        $schema->getHost()->willReturn('domain.tld');
36
37
        $item = $this->prophesize(CacheItemInterface::class);
38
        $item->isHit()->shouldBeCalled()->willReturn(true);
39
        $item->get()->shouldBeCalled()->willReturn($schema);
40
41
        $cache = $this->prophesize(CacheItemPoolInterface::class);
42
        $cache->getItem('3f470a326a5926a2e323aaadd767c0e64302a080')->willReturn($item);
43
44
        ApiServiceBuilder::create()
45
            ->withCacheProvider($cache->reveal())
46
            ->build($schemaFile);
47
    }
48
}
49