AzineMergedBusinessNetworksProviderTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 64
Duplicated Lines 0 %

Importance

Changes 2
Bugs 2 Features 0
Metric Value
wmc 3
eloc 25
c 2
b 2
f 0
dl 0
loc 64
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getMocks() 0 11 1
A testGetContactProfiles() 0 36 1
A getAzineMergedBusinessNetworkProvider() 0 10 1
1
<?php
2
3
namespace Azine\HybridAuthBundle\Tests\Services;
4
5
use Azine\HybridAuthBundle\Services\AzineMergedBusinessNetworksProvider;
6
7
class AzineMergedBusinessNetworksProviderTest extends \PHPUnit\Framework\TestCase
8
{
9
    public function testGetContactProfiles()
10
    {
11
        /*
12
                public function getContactProfiles($pageSize = 50, $offset = 0, $tryToConnect = false, $filterParams = array()){
13
                    // check if the contacts are loaded already
14
                    if(sizeof($this->providers) != sizeof($this->loadedProviders)){
15
                    foreach ($this->providers as $provider){
16
                        $connected = $this->hybridAuth->getProvider($provider, false)->isUserConnected();
17
                        if($connected && (!array_key_exists($provider, $this->loadedProviders) || sizeof($this->loadedProviders[$provider]) == 0)){
18
                            $newContacts = $this->getUserContactsFor($provider);
19
                            $this->loadedProviders[$provider] = $newContacts;
20
                            $this->session->set(self::LOADED_PROVIDERS_NAME, $this->loadedProviders);
21
                            $this->session->save();
22
                        }
23
                        // merge the old and new contacts
24
                        $this->contacts = $this->merger->merge($this->loadedProviders);
25
26
                        // sort all contacts
27
                        usort($this->contacts, array($this->sorter, 'compare'));
28
29
                        $this->session->set(self::CONTACTS_SESSION_NAME, $this->contacts);
30
                        $this->session->save();
31
                    }
32
33
                    // return one page
34
                    return array_slice($this->contactFilter->filter($this->contacts, $filterParams), $offset, $pageSize, true);
35
                }
36
        */
37
        $providers = array();
38
        $mocks = $this->getMocks();
39
        $sessionMock = $mocks['session'];
40
        $sessionMock->expects($this->exactly(2))->method('get')->will($this->returnValue(array()));
41
        $filterMock = $mocks['contactFilter'];
42
        $filterMock->expects($this->exactly(1))->method('filter')->will($this->returnValue(array()));
43
        $service = $this->getAzineMergedBusinessNetworkProvider($mocks, $providers);
44
        $service->getContactProfiles();
45
    }
46
47
    private function getAzineMergedBusinessNetworkProvider(array $mocks, array $providers)
48
    {
49
        return new AzineMergedBusinessNetworksProvider(
50
            $mocks['hybridAuth'],
51
            $mocks['session'],
52
            $mocks['contactSorter'],
53
            $mocks['contactMerger'],
54
            $mocks['genderGuesser'],
55
            $mocks['contactFilter'],
56
            $providers
57
        );
58
    }
59
60
    private function getMocks()
61
    {
62
        $mocks = array();
63
        $mocks['hybridAuth'] = $this->getMockBuilder('Azine\HybridAuthBundle\Services\AzineHybridAuth')->disableOriginalConstructor()->getMock();
64
        $mocks['session'] = $this->getMockBuilder('Symfony\Component\HttpFoundation\Session\Session')->disableOriginalConstructor()->getMock();
65
        $mocks['contactSorter'] = $this->getMockBuilder('Azine\HybridAuthBundle\Services\ContactSorter')->disableOriginalConstructor()->getMock();
66
        $mocks['contactMerger'] = $this->getMockBuilder('Azine\HybridAuthBundle\Services\ContactMerger')->disableOriginalConstructor()->getMock();
67
        $mocks['genderGuesser'] = $this->getMockBuilder('Azine\HybridAuthBundle\Services\GenderGuesser')->disableOriginalConstructor()->getMock();
68
        $mocks['contactFilter'] = $this->getMockBuilder('Azine\HybridAuthBundle\Services\ContactFilter')->disableOriginalConstructor()->getMock();
69
70
        return $mocks;
71
    }
72
}
73