Completed
Push — siteaccessaware-layer-only ( 65e0ca...b62a6f )
by André
12:44
created

setLanguagesPassTroughArguments()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 3
dl 0
loc 9
rs 9.6666
c 0
b 0
f 0
1
<?php
2
3
namespace eZ\Publish\Core\Repository\SiteAccessAware\Tests;
4
5
use eZ\Publish\API\Repository\SearchService as APIService;
6
use eZ\Publish\API\Repository\Values\Content\LocationQuery;
7
use eZ\Publish\API\Repository\Values\Content\Query;
8
use eZ\Publish\Core\Repository\SiteAccessAware\SearchService;
9
10
class SearchServiceTest extends AbstractServiceTest
11
{
12
    public function getAPIServiceClassName()
13
    {
14
        return APIService::class;
15
    }
16
17
    public function getSiteAccessAwareServiceClassName()
18
    {
19
        return SearchService::class;
20
    }
21
22
    public function providerForPassTroughMethods()
23
    {
24
        // string $method, array $arguments, bool $return = true
25
        return [
26
            ['suggest', ['prefix', [], 11]],
27
        ];
28
    }
29
30
    public function providerForLanguagesLookupMethods()
31
    {
32
        $query = new Query();
33
        $locationQuery = new LocationQuery();
34
        $criterion = new Query\Criterion\ContentId(44);
35
36
        $callback = function($languageLookup) {
37
            $this->languageHelperMock
38
                ->expects($this->once())
39
                ->method('getUseAlwaysAvailable')
40
                ->with($languageLookup ? null : true)
41
                ->willReturn(true);
42
        };
43
44
        // string $method, array $arguments, bool $return, int $languageArgumentIndex, callable $callback
45
        return [
46
            ['findContent', [$query, self::LANG_ARG, false], true, 1, $callback],
47
            ['findContentInfo', [$query, self::LANG_ARG, false], true, 1, $callback],
48
            ['findSingle', [$criterion, self::LANG_ARG, false], true, 1, $callback],
49
            ['findLocations', [$locationQuery, self::LANG_ARG, false], true, 1, $callback],
50
        ];
51
    }
52
53
    protected function setLanguagesLookupExpectedArguments(array $arguments, $languageArgumentIndex, array $languages)
54
    {
55
        $arguments[$languageArgumentIndex] = [
56
            'languages' => $languages,
57
            'useAlwaysAvailable' => true
58
        ];
59
60
        return $arguments;
61
    }
62
63
    protected function setLanguagesPassTroughArguments(array $arguments, $languageArgumentIndex, array $languages)
64
    {
65
        $arguments[$languageArgumentIndex] = [
66
            'languages' => $languages,
67
            'useAlwaysAvailable' => true
68
        ];
69
70
        return $arguments;
71
    }
72
}
73