public function AuthcacheP13nTestDefaultRequestHandler::testDefaultRequestHandlerWithContextProvider in Authenticated User Page Caching (Authcache) 7.2
Test handler with context provider.
File
- modules/
authcache_p13n/ tests/ authcache_p13n.request-handler.test, line 205 - Define unit tests for request handler.
Class
- AuthcacheP13nTestDefaultRequestHandler
- Test cases for default request handler.
Code
public function testDefaultRequestHandlerWithContextProvider() {
$filters = array();
$context_providers = array(
'my context' => new AuthcacheP13nTestContextProviderStub($this->stubObserver),
'other context' => new AuthcacheP13nTestContextProviderStub($this->stubObserver),
);
$params = array(
'some' => 'args',
);
$validate = $this->stubObserver
->method($this->requestValidator, 'validate', $params + array(
'valid' => TRUE,
))
->expect(AuthcacheP13nTestStubVerifyer::once())
->expect(AuthcacheP13nTestStubVerifyer::args(array(
$params,
)));
// Setup expectations.
$cp_1 = $this->stubObserver
->method($context_providers['my context'], 'get', 'some value')
->expect(AuthcacheP13nTestStubVerifyer::once())
->expect(AuthcacheP13nTestStubVerifyer::args(array(
$params + array(
'valid' => TRUE,
),
)));
$cp_2 = $this->stubObserver
->method($context_providers['other context'], 'get', array(
'other stuff',
))
->expect(AuthcacheP13nTestStubVerifyer::once())
->expect(AuthcacheP13nTestStubVerifyer::args(array(
$params + array(
'valid' => TRUE,
),
)));
$build = $this->stubObserver
->method($this->contentBuilder, 'build')
->expect(AuthcacheP13nTestStubVerifyer::once())
->expect(AuthcacheP13nTestStubVerifyer::args(array(
$params + array(
'valid' => TRUE,
),
array(
'my context' => 'some value',
'other context' => array(
'other stuff',
),
),
)));
// Run handler.
$handler = new AuthcacheP13nDefaultRequestHandler($this->coreService, $this->requestValidator, $this->contentBuilder, $this->contentEncoder, $filters, $context_providers);
ob_start();
$handler
->handle($params);
ob_end_clean();
// Verify stubs.
$this
->assert($validate
->verify($message), $message);
$this
->assert($cp_1
->verify($message), $message);
$this
->assert($cp_2
->verify($message), $message);
$this
->assert($build
->verify($message), $message);
}