Added a search function

This commit is contained in:
Rob Gloudemans
2013-05-31 08:00:30 +02:00
parent 951c4a8b0f
commit c0210e033a
2 changed files with 27 additions and 1 deletions

View File

@@ -211,7 +211,7 @@ class Cart {
* @param Array $options Array of additional options, such as 'size' or 'color'
* @return boolean
*/
protected function generateRowId($id, $options)
public function generateRowId($id, $options)
{
return md5($id . serialize($options));
}
@@ -344,4 +344,16 @@ class Cart {
return $this->updateRow($rowId, $attributes);
}
public function search($search)
{
foreach($this->getContent() as $item)
{
$rowId = $this->generateRowId($search['id'], $search['options']);
if($rowId === $item->rowid) return true;
}
return false;
}
}

View File

@@ -189,4 +189,18 @@ class CartTest extends TestCase {
$this->assertEquals($count, 2);
}
public function testCartCanSearch()
{
Cart::add(1, 'test', 1, 10.00, ['size' => 'L']);
Cart::add(2, 'test', 2, 10.00, ['size' => 'L']);
$search = Cart::search(['id' => 1, 'options' => ['size' => 'L']]);
$this->assertTrue($search);
$search = Cart::search(['id' => 3, 'options' => ['size' => 'L']]);
$this->assertFalse($search);
}
}