1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace Starkerxp\UtilisateurBundle\Tests\Controller; |
4
|
|
|
|
5
|
|
|
use Starkerxp\StructureBundle\Tests\WebTest; |
6
|
|
|
|
7
|
|
View Code Duplication |
class UtilisateurControllerTest extends WebTest |
|
|
|
|
8
|
|
|
{ |
9
|
|
|
|
10
|
|
|
/** |
11
|
|
|
* @group utilisateur |
12
|
|
|
* @group post |
13
|
|
|
* @group controller |
14
|
|
|
*/ |
15
|
|
|
public function testPostValide() |
16
|
|
|
{ |
17
|
|
|
$data = [ |
18
|
|
|
//'nom' => "Mon nom", //exemple |
|
|
|
|
19
|
|
|
]; |
20
|
|
|
$client = static::createClient(); |
21
|
|
|
$client->request('POST', '/utilisateurs', $data); |
22
|
|
|
$response = $client->getResponse(); |
23
|
|
|
$this->assertEquals(201, $response->getStatusCode()); |
24
|
|
|
$manager = $this->getContainer()->get('starkerxp_utilisateur.manager.utilisateur'); |
25
|
|
|
$Utilisateurs = $manager->findAll(); |
26
|
|
|
$this->assertCount(1, $Utilisateurs); |
27
|
|
|
} |
28
|
|
|
|
29
|
|
|
/** |
30
|
|
|
* @group utilisateur |
31
|
|
|
* @group post |
32
|
|
|
* @group controller |
33
|
|
|
*/ |
34
|
|
|
public function testPostInvalide() |
35
|
|
|
{ |
36
|
|
|
$client = static::createClient(); |
37
|
|
|
$client->request('POST', '/utilisateurs', []); |
38
|
|
|
$response = $client->getResponse(); |
39
|
|
|
$this->assertEquals(400, $response->getStatusCode()); |
40
|
|
|
$body = json_decode($response->getContent(), true)['payload']; |
|
|
|
|
41
|
|
|
//$this->assertArrayHasKey("nom", $body); // Exemple |
|
|
|
|
42
|
|
|
} |
43
|
|
|
|
44
|
|
|
|
45
|
|
|
/** |
46
|
|
|
* @group utilisateur |
47
|
|
|
* @group put |
48
|
|
|
* @group controller |
49
|
|
|
*/ |
50
|
|
|
public function testPutValide() |
51
|
|
|
{ |
52
|
|
|
$this->loadFixtureFiles(['@StarkerxpUtilisateurBundle/Tests/DataFixtures/UtilisateurManager/DefaultUtilisateur.yml']); |
53
|
|
|
$manager = $this->getContainer()->get('starkerxp_utilisateur.manager.utilisateur'); |
54
|
|
|
$listeUtilisateurs = $manager->getRepository()->findAll(); |
55
|
|
|
$this->assertCount(1, $listeUtilisateurs); |
56
|
|
|
$UtilisateurDepart = $manager->toArray($listeUtilisateurs[0], [/*'nom'*/]);// Exemple |
57
|
|
|
$data = [ |
58
|
|
|
//'nom' => "Mon nom", //exemple |
|
|
|
|
59
|
|
|
]; |
60
|
|
|
$client = static::createClient(); |
61
|
|
|
$client->request('PUT', '/utilisateurs/'.$listeUtilisateurs[0]->getId(), $data); |
62
|
|
|
$response = $client->getResponse(); |
63
|
|
|
$this->assertEquals(204, $response->getStatusCode()); |
64
|
|
|
$manager->clear(); |
65
|
|
|
$Utilisateurs = $manager->findAll(); |
66
|
|
|
$this->assertCount(1, $Utilisateurs); |
67
|
|
|
$UtilisateurFinal = $manager->toArray($Utilisateurs[0], [/*'nom'*/]);// Exemple |
68
|
|
|
$this->assertNotEquals($UtilisateurDepart, $UtilisateurFinal); |
69
|
|
|
$this->assertEquals($data, $UtilisateurFinal); |
70
|
|
|
} |
71
|
|
|
|
72
|
|
|
/** |
73
|
|
|
* @group utilisateur |
74
|
|
|
* @group put |
75
|
|
|
* @group controller |
76
|
|
|
*/ |
77
|
|
|
public function testPutInvalide() |
78
|
|
|
{ |
79
|
|
|
$this->loadFixtureFiles(['@StarkerxpUtilisateurBundle/Tests/DataFixtures/UtilisateurManager/DefaultUtilisateur.yml']); |
80
|
|
|
$manager = $this->getContainer()->get('starkerxp_utilisateur.manager.utilisateur'); |
81
|
|
|
$listeUtilisateurs = $manager->getRepository()->findAll(); |
82
|
|
|
$this->assertCount(1, $listeUtilisateurs); |
83
|
|
|
$client = static::createClient(); |
84
|
|
|
$client->request('PUT', '/utilisateurs/'.$listeUtilisateurs[0]->getId(), []); |
85
|
|
|
$response = $client->getResponse(); |
86
|
|
|
$this->assertEquals(400, $response->getStatusCode()); |
87
|
|
|
$body = json_decode($response->getContent(), true)['payload']; |
|
|
|
|
88
|
|
|
//$this->assertArrayHasKey("nom", $body); // Exemple |
|
|
|
|
89
|
|
|
|
90
|
|
|
} |
91
|
|
|
|
92
|
|
|
/** |
93
|
|
|
* @group utilisateur |
94
|
|
|
* @group put |
95
|
|
|
* @group controller |
96
|
|
|
*/ |
97
|
|
|
public function testPutSansResultat() |
98
|
|
|
{ |
99
|
|
|
$data = [ |
100
|
|
|
//'nom' => "Mon nom", //exemple |
|
|
|
|
101
|
|
|
]; |
102
|
|
|
$client = static::createClient(); |
103
|
|
|
$client->request('PUT', '/utilisateurs/404', $data); |
104
|
|
|
$response = $client->getResponse(); |
105
|
|
|
$this->assertEquals(404, $response->getStatusCode()); |
106
|
|
|
$body = json_decode($response->getContent(), true); |
107
|
|
|
$this->assertNotEmpty($body); |
108
|
|
|
} |
109
|
|
|
|
110
|
|
|
|
111
|
|
|
/** |
112
|
|
|
* @group utilisateur |
113
|
|
|
* @group cget |
114
|
|
|
* @group controller |
115
|
|
|
*/ |
116
|
|
|
public function testCGetValideAvecResultats() |
117
|
|
|
{ |
118
|
|
|
$this->loadFixtureFiles(['@StarkerxpUtilisateurBundle/Tests/DataFixtures/UtilisateurManager/UtilisateurManager.yml']); |
119
|
|
|
$client = static::createClient(); |
120
|
|
|
$client->request('GET', '/utilisateurs', []); |
121
|
|
|
$response = $client->getResponse(); |
122
|
|
|
$this->assertEquals(200, $response->getStatusCode()); |
123
|
|
|
$body = json_decode($response->getContent(), true); |
124
|
|
|
$this->assertCount(10, $body); |
125
|
|
|
foreach ($body as $element) { |
|
|
|
|
126
|
|
|
//$this->assertArrayHasKey("nom", $body); // Exemple |
|
|
|
|
127
|
|
|
} |
128
|
|
|
} |
129
|
|
|
|
130
|
|
|
/** |
131
|
|
|
* @group utilisateur |
132
|
|
|
* @group cget |
133
|
|
|
* @group controller |
134
|
|
|
*/ |
135
|
|
|
public function testCGetValideSansResultat() |
136
|
|
|
{ |
137
|
|
|
$client = static::createClient(); |
138
|
|
|
$client->request('GET', '/utilisateurs', []); |
139
|
|
|
$response = $client->getResponse(); |
140
|
|
|
$this->assertEquals(200, $response->getStatusCode()); |
141
|
|
|
$body = json_decode($response->getContent(), true); |
142
|
|
|
$this->assertCount(0, $body); |
143
|
|
|
} |
144
|
|
|
|
145
|
|
|
/** |
146
|
|
|
* @group utilisateur |
147
|
|
|
* @group cget |
148
|
|
|
* @group controller |
149
|
|
|
*/ |
150
|
|
|
public function testCGetInvalide() |
151
|
|
|
{ |
152
|
|
|
$client = static::createClient(); |
153
|
|
|
$client->request('GET', '/utilisateurs', ["filter_erreur" => "+h"]); |
154
|
|
|
$response = $client->getResponse(); |
155
|
|
|
$this->assertEquals(400, $response->getStatusCode()); |
156
|
|
|
} |
157
|
|
|
|
158
|
|
|
/** |
159
|
|
|
* @group utilisateur |
160
|
|
|
* @group get |
161
|
|
|
* @group controller |
162
|
|
|
*/ |
163
|
|
|
public function testGetValideAvecResultats() |
164
|
|
|
{ |
165
|
|
|
$this->loadFixtureFiles(['@StarkerxpUtilisateurBundle/Tests/DataFixtures/UtilisateurManager/UtilisateurManager.yml']); |
166
|
|
|
$manager = $this->getContainer()->get('starkerxp_utilisateur.manager.utilisateur'); |
167
|
|
|
$listeUtilisateurs = $manager->getRepository()->findAll(); |
168
|
|
|
$this->assertCount(10, $listeUtilisateurs); |
169
|
|
|
$client = static::createClient(); |
170
|
|
|
$client->request('GET', '/utilisateurs/'.$listeUtilisateurs[0]->getId(), []); |
171
|
|
|
$response = $client->getResponse(); |
172
|
|
|
$this->assertEquals(200, $response->getStatusCode()); |
173
|
|
|
$body = json_decode($response->getContent(), true); |
174
|
|
|
$this->assertCount(5, $body); |
175
|
|
|
//$this->assertArrayHasKey("nom", $body); // Exemple |
|
|
|
|
176
|
|
|
} |
177
|
|
|
|
178
|
|
|
/** |
179
|
|
|
* @group utilisateur |
180
|
|
|
* @group get |
181
|
|
|
* @group controller |
182
|
|
|
*/ |
183
|
|
|
public function testGetValideSansResultat() |
184
|
|
|
{ |
185
|
|
|
$client = static::createClient(); |
186
|
|
|
$client->request('GET', '/utilisateurs/404', []); |
187
|
|
|
$response = $client->getResponse(); |
188
|
|
|
$this->assertEquals(404, $response->getStatusCode()); |
189
|
|
|
$body = json_decode($response->getContent(), true); |
190
|
|
|
$this->assertNotEmpty($body); |
191
|
|
|
} |
192
|
|
|
|
193
|
|
|
/** |
194
|
|
|
* @group utilisateur |
195
|
|
|
* @group get |
196
|
|
|
* @group controller |
197
|
|
|
*/ |
198
|
|
|
public function testGetInvalide() |
199
|
|
|
{ |
200
|
|
|
$client = static::createClient(); |
201
|
|
|
$client->request('GET', '/utilisateurs/500', ["filter_erreur" => "+h"]); |
202
|
|
|
$response = $client->getResponse(); |
203
|
|
|
$this->assertEquals(400, $response->getStatusCode()); |
204
|
|
|
} |
205
|
|
|
|
206
|
|
|
/** |
207
|
|
|
* @group utilisateur |
208
|
|
|
* @group delete |
209
|
|
|
* @group controller |
210
|
|
|
*/ |
211
|
|
|
public function testDeleteValide() |
212
|
|
|
{ |
213
|
|
|
$this->loadFixtureFiles(['@StarkerxpUtilisateurBundle/Tests/DataFixtures/UtilisateurManager/DefaultUtilisateur.yml']); |
214
|
|
|
$manager = $this->getContainer()->get('starkerxp_utilisateur.manager.utilisateur'); |
215
|
|
|
$listeUtilisateurs = $manager->getRepository()->findAll(); |
216
|
|
|
$this->assertCount(1, $listeUtilisateurs); |
217
|
|
|
$client = static::createClient(); |
218
|
|
|
$client->request('DELETE', '/utilisateurs/'.$listeUtilisateurs[0]->getId()); |
219
|
|
|
$response = $client->getResponse(); |
220
|
|
|
$this->assertEquals(204, $response->getStatusCode()); |
221
|
|
|
$manager->clear(); |
222
|
|
|
$Utilisateurs = $manager->findAll(); |
223
|
|
|
$this->assertCount(0, $Utilisateurs); |
224
|
|
|
} |
225
|
|
|
|
226
|
|
|
/** |
227
|
|
|
* @group utilisateur |
228
|
|
|
* @group delete |
229
|
|
|
* @group controller |
230
|
|
|
*/ |
231
|
|
|
public function testDeleteSansResultat() |
232
|
|
|
{ |
233
|
|
|
$client = static::createClient(); |
234
|
|
|
$client->request('DELETE', '/utilisateurs/404', []); |
235
|
|
|
$response = $client->getResponse(); |
236
|
|
|
$this->assertEquals(404, $response->getStatusCode()); |
237
|
|
|
$body = json_decode($response->getContent(), true); |
238
|
|
|
$this->assertNotEmpty($body); |
239
|
|
|
} |
240
|
|
|
} |
|
|
|
|
241
|
|
|
|
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.