From c1e68717bc1908ec140022629c8e0e80d326b01d Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Mon, 10 Oct 2011 22:29:05 -0500 Subject: [PATCH] working more on tests. --- tests/Cases/Session/SessionManagerTest.php | 55 +++++++++++++++++++--- tests/Cases/Session/SessionPayloadTest.php | 1 + 2 files changed, 49 insertions(+), 7 deletions(-) diff --git a/tests/Cases/Session/SessionManagerTest.php b/tests/Cases/Session/SessionManagerTest.php index 68069bbb..1e7f6217 100644 --- a/tests/Cases/Session/SessionManagerTest.php +++ b/tests/Cases/Session/SessionManagerTest.php @@ -11,7 +11,9 @@ class SessionManagerTest extends PHPUnit_Framework_TestCase { public function test_session_manager_calls_transporter_get($driver, $transporter) { $transporter->expects($this->once())->method('get'); + $manager = new Manager($driver, $transporter); + $manager->payload($this->getConfig()); } @@ -20,9 +22,16 @@ public function test_session_manager_calls_transporter_get($driver, $transporter */ public function test_session_manager_calls_driver_load_with_session_id($driver, $transporter) { - $transporter->expects($this->any())->method('get')->will($this->returnValue('something')); - $driver->expects($this->once())->method('load')->with($this->equalTo('something')); + $transporter->expects($this->any()) + ->method('get') + ->will($this->returnValue('something')); + + $driver->expects($this->once()) + ->method('load') + ->with($this->equalTo('something')); + $manager = new Manager($driver, $transporter); + $manager->payload($this->getConfig()); } @@ -32,8 +41,10 @@ public function test_session_manager_calls_driver_load_with_session_id($driver, public function test_session_manager_returns_payload_when_found($driver, $transporter) { $this->setDriverExpectation($driver, 'load', $this->getDummySession()); + $manager = new Manager($driver, $transporter); $payload = $manager->payload($this->getConfig()); + $this->assertInstanceOf('Laravel\\Session\\Payload', $payload); $this->assertEquals($payload->session, $this->getDummySession()); } @@ -44,8 +55,10 @@ public function test_session_manager_returns_payload_when_found($driver, $transp public function test_session_manager_creates_new_session_when_session_is_null($driver, $transporter) { $this->setDriverExpectation($driver, 'load', null); + $manager = new Manager($driver, $transporter); $payload = $manager->payload($this->getConfig()); + $this->assertInstanceOf('Laravel\\Session\\Payload', $payload); $this->assertEquals(strlen($payload->session['id']), 40); $this->assertTrue(is_array($payload->session['data'])); @@ -58,8 +71,10 @@ public function test_session_manager_creates_new_session_when_session_is_expired { $dateTime = new DateTime('1970-01-01'); $this->setDriverExpectation($driver, 'load', array('last_activity' => $dateTime->getTimestamp())); + $manager = new Manager($driver, $transporter); $payload = $manager->payload($this->getConfig()); + $this->assertInstanceOf('Laravel\\Session\\Payload', $payload); $this->assertEquals(strlen($payload->session['id']), 40); } @@ -72,8 +87,10 @@ public function test_session_manager_sets_csrf_token_if_one_is_not_present($driv $session = $this->getDummySession(); unset($session['data']['csrf_token']); $this->setDriverExpectation($driver, 'load', $session); + $manager = new Manager($driver, $transporter); $payload = $manager->payload($this->getConfig()); + $this->assertTrue(isset($payload->session['data']['csrf_token'])); $this->assertEquals(strlen($payload->session['data']['csrf_token']), 16); } @@ -83,12 +100,30 @@ public function test_session_manager_sets_csrf_token_if_one_is_not_present($driv */ public function test_close_method_calls_driver_and_transporter($driver, $transporter) { - $driver->expects($this->any())->method('load')->will($this->returnValue($this->getDummySession())); + $driver->expects($this->any()) + ->method('load') + ->will($this->returnValue($this->getDummySession())); + $manager = new Manager($driver, $transporter); - $payload = $this->getMock('Laravel\\Session\\Payload', array('age'), array(array('id' => 'something'))); - $payload->expects($this->any())->method('age')->will($this->returnValue('something')); - $driver->expects($this->once())->method('save')->with('something', $this->getConfig()); - $transporter->expects($this->once())->method('put')->with('something', $this->getConfig()); + + $payload = $this->getMock( + 'Laravel\\Session\\Payload', + array('age'), + array(array('id' => 'something')) + ); + + $payload->expects($this->any()) + ->method('age') + ->will($this->returnValue('something')); + + $driver->expects($this->once()) + ->method('save') + ->with('something', $this->getConfig()); + + $transporter->expects($this->once()) + ->method('put') + ->with('something', $this->getConfig()); + $manager->close($payload, $this->getConfig()); } @@ -99,9 +134,12 @@ public function test_close_method_calls_sweep_when_driver_is_sweeper($driver, $t { $driver = $this->getMock('SweeperStub', array('sweep')); $driver->expects($this->once())->method('sweep'); + $manager = new Manager($driver, $transporter); + $config = $this->getConfig(); $config['sweepage'] = array(100, 100); + $manager->close(new Laravel\Session\Payload($this->getDummySession()), $config); } @@ -112,9 +150,12 @@ public function test_close_method_doesnt_call_sweep_when_driver_isnt_sweeper($dr { $driver = $this->getMock('Laravel\\Session\\Drivers\\Driver', array('sweep', 'load', 'save', 'delete')); $driver->expects($this->never())->method('sweep'); + $manager = new Manager($driver, $transporter); + $config = $this->getConfig(); $config['sweepage'] = array(100, 100); + $manager->close(new Laravel\Session\Payload($this->getDummySession()), $config); } diff --git a/tests/Cases/Session/SessionPayloadTest.php b/tests/Cases/Session/SessionPayloadTest.php index fe520506..98041439 100644 --- a/tests/Cases/Session/SessionPayloadTest.php +++ b/tests/Cases/Session/SessionPayloadTest.php @@ -65,6 +65,7 @@ public function test_keep_method_keeps_specified_session_data() $payload->keep('name'); $this->assertTrue(isset($payload->session['data'][':new:name'])); $this->assertFalse(isset($payload->session['data'][':old:name'])); + $payload = new Payload(array('data' => array(':old:name' => 'Taylor', ':old:age' => 25))); $payload->keep(array('name', 'age')); $this->assertTrue(isset($payload->session['data'][':new:name']));