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
|
|
|
|