protected function MockSessionTrait::createSessionMock in Examples for Developers 8
Same name and namespace in other branches
- 3.x modules/stream_wrapper_example/tests/src/Traits/MockSessionTrait.php \Drupal\Tests\stream_wrapper_example\Traits\MockSessionTrait::createSessionMock()
Create a mock session object.
Return value
\Symfony\Component\HttpFoundation\RequestStack|\Prophecy\Prophecy\ProphecyInterface A test double, or mock, of a RequestStack object that can be used to return a mock Session object.
2 calls to MockSessionTrait::createSessionMock()
- SessionHelperTest::setUp in stream_wrapper_example/
tests/ src/ Unit/ SessionHelperTest.php - StreamWrapperTest::setUp in stream_wrapper_example/
tests/ src/ Kernel/ StreamWrapperTest.php
File
- stream_wrapper_example/
tests/ src/ Traits/ MockSessionTrait.php, line 37
Class
- MockSessionTrait
- A trait to expose a mock session type to PHPUnit tests.
Namespace
Drupal\Tests\stream_wrapper_example\TraitsCode
protected function createSessionMock() {
$this->sessionStore = [];
$session = $this
->prophesize(SessionInterface::class);
$test = $this;
$session
->get('stream_wrapper_example', [])
->will(function ($args) use ($test) {
return $test
->getSessionStore();
});
$session
->set('stream_wrapper_example', Argument::any())
->will(function ($args) use ($test) {
$test
->setSessionStore($args[1]);
});
$session
->remove('stream_wrapper_example')
->will(function ($args) use ($test) {
$test
->resetSessionStore();
});
$request = $this
->prophesize(Request::class);
$request
->getSession()
->willReturn($session
->reveal());
$request_stack = $this
->prophesize(RequestStack::class);
$request_stack
->getCurrentRequest()
->willReturn($request
->reveal());
return $this->requestStack = $request_stack
->reveal();
}