Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?php
/**
* Copyright (c) 2012-2014, Agence Française Informatique (AFI). All rights reserved.
*
* BOKEH is free software; you can redistribute it and/or modify
* it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by
* the Free Software Foundation.
*
* There are special exceptions to the terms and conditions of the AGPL as it
* is applied to this software (see README file).
*
* BOKEH is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
* along with BOKEH; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
abstract class Cosmo_SectionControllerTestCase extends CosmoControllerTestCase {
protected $_storm_default_to_volatile = true;
public function setUp() {
parent::setUp();
$this->fixture('Class_CodifSection',
['id' => 5,
'libelle' => '01 Energie Enjeux',
'regles' => '995$q=98']);
$this->fixture('Class_CodifSection',
['id' => 7,
'libelle' => '01 Energie Politique',
'regles' => '995$q=99']);
}
}
class Cosmo_SectionControllerIndexTest extends Cosmo_SectionControllerTestCase {
public function setUp() {
parent::setUp();
$this->dispatch('/cosmo/section', true);
}
/** @test */
public function addNewSectionShouldBePresent() {
$this->assertXPath('//a', 'Ajouter une section');
}
/** @test */
public function energieEnjeuxShouldBeInTable() {
$this->assertXPathContentContains('//table//tr//td', '01 Energie Enjeux');
}
/** @test */
public function energiePolitiqueShouldBeInTable() {
$this->assertXPathContentContains('//table//tr//td', '01 Energie Politique');
}
/** @test */
public function editEnergiePolitiqueShouldBePresent() {
$this->assertXPath('//table//tr//td//a[contains(@href, "/cosmo/section/edit/id/7")]');
}
}
class Cosmo_SectionControllerActionsTest extends Cosmo_SectionControllerTestCase {
public function setUp() {
parent::setUp();
}
/** @test */
public function inputLibelleShouldBePresent() {
$this->dispatch('/cosmo/section/edit/id/7', true);
$this->assertXPath('//form//input[@value="01 Energie Politique"]');
}
/** @test */
public function postLibelle02ShouldSaveSection() {
$this->postDispatch('/cosmo/section/edit/id/7',
['libelle' => '02 Energie Politique']);
$this->assertEquals('02 Energie Politique', Class_CodifSection::find(7)->getLibelle());
}
/** @test */
public function deleteEnergiePolitiqueShouldRemoveItFromDB() {
$this->dispatch('/cosmo/section/delete/id/7', true);
$this->assertNull(Class_CodifSection::find(7));
}
/** @test */
public function deleteEnergiePolitiqueShouldRedirectToSectionIndex() {
$this->dispatch('/cosmo/section/delete/id/7', true);
$this->assertRedirectTo('/cosmo/section/index');
}
}