CacheTest.php 1.07 KB
Newer Older
Jens Segers's avatar
Jens Segers committed
1
<?php
2
require_once('tests/app.php');
Jens Segers's avatar
Jens Segers committed
3

4
use Illuminate\Support\Facades\DB;
Jens Segers's avatar
Jens Segers committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

class CacheTest extends PHPUnit_Framework_TestCase {

	public function setUp()
	{
		// test data
		User::create(array('name' => 'John Doe', 'age' => 35, 'title' => 'admin'));
		User::create(array('name' => 'Jane Doe', 'age' => 33, 'title' => 'admin'));
		User::create(array('name' => 'Harry Hoe', 'age' => 13, 'title' => 'user'));
	}

	public function tearDown()
	{
		User::truncate();
	}

	public function testCache()
	{
Jens Segers's avatar
Jens Segers committed
23 24 25 26 27
		# get from cache driver
		global $app;
		$cache = $app['cache'];
		$cache->forget('db.users');

Jens Segers's avatar
Jens Segers committed
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
		# auto generate cache key
		$users = DB::collection('users')->where('age', '>', 10)->remember(10)->get();
		$this->assertEquals(3, count($users));

		$users = DB::collection('users')->where('age', '>', 10)->getCached();
		$this->assertEquals(3, count($users));

		# store under predefined cache key
		$users = User::where('age', '>', 10)->remember(10, 'db.users')->get();
		$this->assertEquals(3, count($users));

		$users = $cache->get('db.users');
		$this->assertEquals(3, count($users));
	}

}