InteractsWithSession.php
TLDR
This file contains a trait called InteractsWithSession
which provides methods for interacting with the session in Laravel testing.
Methods
withSession
This method sets the session to the given array of data.
session
This method sets the session to the given array of data.
startSession
This method starts the session for the application.
flushSession
This method flushes all of the current session data.
<?php
namespace Illuminate\Foundation\Testing\Concerns;
trait InteractsWithSession
{
/**
* Set the session to the given array.
*
* @param array $data
* @return $this
*/
public function withSession(array $data)
{
$this->session($data);
return $this;
}
/**
* Set the session to the given array.
*
* @param array $data
* @return $this
*/
public function session(array $data)
{
$this->startSession();
foreach ($data as $key => $value) {
$this->app['session']->put($key, $value);
}
return $this;
}
/**
* Start the session for the application.
*
* @return $this
*/
protected function startSession()
{
if (! $this->app['session']->isStarted()) {
$this->app['session']->start();
}
return $this;
}
/**
* Flush all of the current session data.
*
* @return $this
*/
public function flushSession()
{
$this->startSession();
$this->app['session']->flush();
return $this;
}
}