Completed
Push — master ( 4e0ac6...0fdc9b )
by Łukasz
25:36
created

setLanguagesPassTroughArguments()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 3
dl 0
loc 9
rs 9.9666
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
            ['supports', [SearchService::CAPABILITY_ADVANCED_FULLTEXT]],
28
        ];
29
    }
30
31
    public function providerForLanguagesLookupMethods()
32
    {
33
        $query = new Query();
34
        $locationQuery = new LocationQuery();
35
        $criterion = new Query\Criterion\ContentId(44);
36
37
        $callback = function ($languageLookup) {
38
            $this->languageResolverMock
39
                ->expects($this->once())
40
                ->method('getUseAlwaysAvailable')
41
                ->with($languageLookup ? null : true)
42
                ->willReturn(true);
43
        };
44
45
        // string $method, array $arguments, bool $return, int $languageArgumentIndex, callable $callback
46
        return [
47
            ['findContent', [$query, self::LANG_ARG, false], true, 1, $callback],
48
            ['findContentInfo', [$query, self::LANG_ARG, false], true, 1, $callback],
49
            ['findSingle', [$criterion, self::LANG_ARG, false], true, 1, $callback],
50
            ['findLocations', [$locationQuery, self::LANG_ARG, false], true, 1, $callback],
51
        ];
52
    }
53
54
    protected function setLanguagesLookupArguments(array $arguments, $languageArgumentIndex)
55
    {
56
        $arguments[$languageArgumentIndex] = [
57
            'languages' => [],
58
            'useAlwaysAvailable' => null,
59
        ];
60
61
        return $arguments;
62
    }
63
64
    protected function setLanguagesLookupExpectedArguments(array $arguments, $languageArgumentIndex, array $languages)
65
    {
66
        $arguments[$languageArgumentIndex] = [
67
            'languages' => $languages,
68
            'useAlwaysAvailable' => true,
69
        ];
70
71
        return $arguments;
72
    }
73
74
    protected function setLanguagesPassTroughArguments(array $arguments, $languageArgumentIndex, array $languages)
75
    {
76
        $arguments[$languageArgumentIndex] = [
77
            'languages' => $languages,
78
            'useAlwaysAvailable' => true,
79
        ];
80
81
        return $arguments;
82
    }
83
}
84