Skip to content

Commit

Permalink
Add test to Session
Browse files Browse the repository at this point in the history
Add method Session::all to get all entries in session namespace
  • Loading branch information
piotrooo committed Sep 25, 2013
1 parent 7633904 commit 802f04e
Show file tree
Hide file tree
Showing 2 changed files with 116 additions and 0 deletions.
5 changes: 5 additions & 0 deletions lib/Ouzo/Session.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,9 @@ public function delete()
unset($_SESSION[$this->_sessionNamespace]);
return $this;
}

public function all()
{
return $_SESSION[$this->_sessionNamespace];
}
}
111 changes: 111 additions & 0 deletions test/lib/Ouzo/SessionTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
<?php
use Ouzo\Session;
use Ouzo\Tests\Assert;

class SessionTest extends PHPUnit_Framework_TestCase
{
protected function setUp()
{
parent::setUp();
$_SESSION = array();
}

/**
* @test
*/
public function shouldSetSessionValue()
{
//given
$session = new Session('example');

//when
$session->set('key', 'value');

//then
Assert::thatArray($_SESSION['example'])->contains('value');
}

/**
* @test
*/
public function shouldSetMultipleSessionValues()
{
//given
$session = new Session('example');

//when
$session
->set('key1', 'value1')
->set('key2', 'value2')
->set('key3', 'value3');

//then
Assert::thatArray($_SESSION['example'])->hasSize(3);
}

/**
* @test
*/
public function shouldGetSessionValue()
{
//given
$session = new Session('example');
$session->set('key', 'value');

//when
$value = $session->get('key');

//then
$this->assertEquals('value', $value);
}

/**
* @test
*/
public function shouldDeleteSessionNamespace()
{
//given
$session = new Session('example');
$session->set('key', 'value');

//when
$session->delete();

//then
Assert::thatArray($_SESSION)->isEmpty();
}

/**
* @test
*/
public function shouldPushValueToSessionNamespace()
{
//given
$session = new Session('example');
$session->set('key', 'value');

//when
$session->push('value_pushed');

//then
Assert::thatArray($_SESSION['example'])->hasSize(2)->containsOnly('value', 'value_pushed');
}

/**
* @test
*/
public function shouldGetAllSessionNamespaceEntries()
{
//given
$session = new Session('example');
$session
->set('key1', 'value1')
->set('key2', 'value2');

//when
$all = $session->all();

//then
Assert::thatArray($all)->hasSize(2)->containsOnly('value1', 'value2');
}
}

0 comments on commit 802f04e

Please sign in to comment.