ProjectTest::testModel()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 31
Code Lines 29

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 31
rs 8.8571
c 1
b 0
f 0
cc 1
eloc 29
nc 1
nop 0
1
<?php
2
3
namespace Developtech\AgilityBundle\Tests\Model;
4
5
use Developtech\AgilityBundle\Entity\Feedback;
6
use Developtech\AgilityBundle\Entity\Feature;
7
use Developtech\AgilityBundle\Entity\Project;
8
use Developtech\AgilityBundle\Tests\Mock\User;
9
10
class ProjectTest extends \PHPUnit_Framework_TestCase {
11
    public function testModel() {
12
        $feedback = new Feedback();
13
        $feature = new Feature();
14
        $project =
15
            (new Project())
16
            ->setId(1)
17
            ->setName('Great project')
18
            ->setSlug('great-project')
19
            ->setCreatedAt(new \DateTime())
20
            ->setProductOwner((new User()))
21
            ->setBetaTestStatus('open')
22
            ->setNbBetaTesters(12)
23
            ->addFeature(new Feature())
24
            ->addFeature($feature)
25
            ->removeFeature($feature)
26
            ->addFeedback($feedback)
27
            ->addFeedback(new Feedback())
28
            ->removeFeedback($feedback)
29
        ;
30
        $this->assertEquals(1, $project->getId());
31
        $this->assertEquals('Great project', $project->getName());
32
        $this->assertEquals('great-project', $project->getSlug());
33
        $this->assertInstanceOf('DateTime', $project->getCreatedAt());
34
        $this->assertInstanceOf(User::class, $project->getProductOwner());
35
        $this->assertEquals('open', $project->getBetaTestStatus());
36
        $this->assertEquals(12, $project->getNbBetaTesters());
37
        $this->assertFalse($project->hasFeature($feature));
38
        $this->assertFalse($project->hasFeedback($feedback));
39
        $this->assertCount(1, $project->getFeedbacks());
40
        $this->assertCount(1, $project->getFeatures());
41
    }
42
}
43