public function AuthcacheP13nTestFragmentBuilder::testFragmentBuilderLoader in Authenticated User Page Caching (Authcache) 7.2
Test request with loader.
File
- modules/
authcache_p13n/ tests/ authcache_p13n.request-handler.test, line 367 - Define unit tests for request handler.
Class
- AuthcacheP13nTestFragmentBuilder
- Tests fragment builder.
Code
public function testFragmentBuilderLoader() {
$context = array(
'some' => 'context',
);
$builder = new AuthcacheP13nFragmentBuilder($this->fragmentRenderer, NULL, $this->fragmentLoader, NULL);
// Setup expectations.
$load = $this->stubObserver
->method($this->fragmentLoader, 'load', array(
'some_key' => 'loaded subject',
))
->expect(AuthcacheP13nTestStubVerifyer::once())
->expect(AuthcacheP13nTestStubVerifyer::args(array(
array(
'some_key' => 'some_subject',
),
$context,
)));
$render = $this->stubObserver
->method($this->fragmentRenderer, 'render', 'rendered')
->expect(AuthcacheP13nTestStubVerifyer::once())
->expect(AuthcacheP13nTestStubVerifyer::args(array(
'some_key',
'loaded subject',
$context,
)));
// Run builder.
$input = array(
'a' => array(
'some_key' => 'some_subject',
),
);
$output = $builder
->build($input, $context);
$this
->assertEqual('rendered', $output);
// Verify stub.
$this
->assert($load
->verify($message), $message);
$this
->assert($render
->verify($message), $message);
// Setup expectations.
$load = $this->stubObserver
->method($this->fragmentLoader, 'load', new AuthcacheP13nRequestNotFound())
->expect(AuthcacheP13nTestStubVerifyer::once());
$render = $this->stubObserver
->method($this->fragmentRenderer, 'render')
->expect(AuthcacheP13nTestStubVerifyer::never());
// Run builder.
$input = array(
'a' => array(
'some_key' => 'missing',
),
);
try {
$builder
->build($input, array());
$this
->fail('AuthcacheP13nFragmentBuilder should throw an AuthcacheP13nRequestNotFound when loading fails');
} catch (AuthcacheP13nRequestNotFound $e) {
unset($e);
$this
->pass('AuthcacheP13nFragmentBuilder should throw an AuthcacheP13nRequestNotFound when loading fails');
}
// Verify stub.
$this
->assert($load
->verify($message), $message);
$this
->assert($render
->verify($message), $message);
}