mirror of
https://github.com/flarum/core.git
synced 2025-07-31 13:40:20 +02:00
fix insertAfter and insertBefore middleware extender functions (#2063)
This commit is contained in:
@@ -84,6 +84,44 @@ class MiddlewareTest extends TestCase
|
||||
$this->assertEquals(200, $response->getStatusCode());
|
||||
$this->assertArrayNotHasKey('X-First-Test-Middleware', $response->getHeaders());
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public function can_insert_before_middleware()
|
||||
{
|
||||
$this->add_first_middleware();
|
||||
$this->extend(
|
||||
(new Extend\Middleware('forum'))->insertBefore(FirstTestMiddleware::class, SecondTestMiddleware::class)
|
||||
);
|
||||
|
||||
$response = $this->send($this->request('GET', '/'));
|
||||
$headers = $response->getHeaders();
|
||||
$newMiddlewarePosition = array_search('X-Second-Test-Middleware', array_keys($headers));
|
||||
$originalMiddlewarePosition = array_search('X-First-Test-Middleware', array_keys($headers));
|
||||
|
||||
$this->assertEquals(200, $response->getStatusCode());
|
||||
$this->assertLessThan($originalMiddlewarePosition, $newMiddlewarePosition);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public function can_insert_after_middleware()
|
||||
{
|
||||
$this->add_first_middleware();
|
||||
$this->extend(
|
||||
(new Extend\Middleware('forum'))->insertAfter(FirstTestMiddleware::class, SecondTestMiddleware::class)
|
||||
);
|
||||
|
||||
$response = $this->send($this->request('GET', '/'));
|
||||
$headers = $response->getHeaders();
|
||||
$newMiddlewarePosition = array_search('X-Second-Test-Middleware', array_keys($headers));
|
||||
$originalMiddlewarePosition = array_search('X-First-Test-Middleware', array_keys($headers));
|
||||
|
||||
$this->assertEquals(200, $response->getStatusCode());
|
||||
$this->assertGreaterThan($originalMiddlewarePosition, $newMiddlewarePosition);
|
||||
}
|
||||
}
|
||||
|
||||
class FirstTestMiddleware implements MiddlewareInterface
|
||||
|
Reference in New Issue
Block a user