UserSettingsRepositoryTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 7

Importance

Changes 0
Metric Value
wmc 3
c 0
b 0
f 0
lcom 1
cbo 7
dl 0
loc 30
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 7 1
A testFindOneByReturnsNullIfNotExists() 0 5 1
A testFindOneByReturnsSettingsIfExists() 0 9 1
1
<?php
2
3
namespace JhFlexiTimeTest\Repository;
4
5
use JhUser\Entity\User;
6
use JhFlexiTimeTest\Util\ServiceManagerFactory;
7
use JhFlexiTimeTest\Fixture\SingleSettings;
8
9
/**
10
 * Class UserSettingsRepositoryTest
11
 * @package JhFlexiTimeTest\Repository
12
 * @author Aydin Hassan <[email protected]>
13
 */
14
class UserSettingsRepositoryTest extends \PHPUnit_Framework_TestCase
15
{
16
17
    protected $repository;
18
    protected $fixtureExecutor;
19
20
    public function setUp()
21
    {
22
        $sm = ServiceManagerFactory::getServiceManager();
23
        $this->repository       = $sm->get('JhFlexiTime\Repository\UserSettingsRepository');
24
        $this->fixtureExecutor  = $sm->get('Doctrine\Common\DataFixtures\Executor\AbstractExecutor');
25
        $this->assertInstanceOf('JhFlexiTime\Repository\UserSettingsRepository', $this->repository);
26
    }
27
28
    public function testFindOneByReturnsNullIfNotExists()
29
    {
30
31
        $this->assertNull($this->repository->findOneByUser(new User));
32
    }
33
34
    public function testFindOneByReturnsSettingsIfExists()
35
    {
36
        $settings = new SingleSettings();
37
        $this->fixtureExecutor->execute([$settings]);
38
        $result = $this->repository->findOneByUser($settings->getSettings()->getUser());
39
        $this->assertInstanceOf('JhFlexiTime\Entity\UserSettings', $result);
40
        $this->assertEquals($settings->getSettings()->getUser()->getEmail(), $result->getUser()->getEmail());
41
        $this->assertEquals($settings->getSettings()->getStartingBalance(), $result->getStartingBalance());
42
    }
43
}
44