8000 Added failing unit test · symfony/symfony@51c24e9 · GitHub
[go: up one dir, main page]

Skip to content

Commit 51c24e9

Browse files
committed
Added failing unit test
1 parent 1fc741b commit 51c24e9

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ public function collect(Request $request, Response $response, ?\Throwable $excep
145145
// collect voters and access decision manager information
146146
if ($this->accessDecisionManager instanceof TraceableAccessDecisionManager) {
147147
$this->data['voter_strategy'] = $this->accessDecisionManager->getStrategy();
148-
$this->data['voters'] = [];
149148

150149
foreach ($this->accessDecisionManager->getVoters() as $voter) {
151150
if ($voter instanceof TraceableVoter) {

src/Symfony/Bundle/SecurityBundle/Tests/DataCollector/SecurityDataCollectorTest.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,36 @@ public function dispatch(object $event, ?string $eventName = null): object
400400
$this->assertSame($dataCollector->getVoterStrategy(), $strategy, 'Wrong value returned by getVoterStrategy');
401401
}
402402

403+
public function testGetVotersIfAccessDecisionManagerHasNoVoters()
404+
{
405+
$strategy = MainConfiguration::STRATEGY_AFFIRMATIVE;
406+
407+
$accessDecisionManager = $this->createMock(TraceableAccessDecisionManager::class);
408+
409+
$accessDecisionManager
410+
->method('getStrategy')
411+
->willReturn($strategy);
412+
413+
$accessDecisionManager
414+
->method('getVoters')
415+
->willReturn([]);
416+
417+
$accessDecisionManager
418+
->method('getDecisionLog')
419+
->willReturn([[
420+
'attributes' => ['view'],
421+
'object' => new \stdClass(),
422+
'result' => true,
423+
'voterDetails' => [],
424+
]]);
425+
426+
$dataCollector = new SecurityDataCollector(null, null, null, $accessDecisionManager, null, null, true);
427+
428+
$dataCollector->collect(new Request(), new Response());
429+
430+
$this->assertEmpty($dataCollector->getVoters());
431+
}
432+
403433
public static function provideRoles(): array
404434
{
405435
return [

0 commit comments

Comments
 (0)
0