Commit 79b6230a authored by Jens Segers's avatar Jens Segers

Expand test for push/pull

parent 7e8a9cc4
...@@ -449,7 +449,7 @@ abstract class Model extends \Jenssegers\Eloquent\Model { ...@@ -449,7 +449,7 @@ abstract class Model extends \Jenssegers\Eloquent\Model {
} }
} }
$this->attributes[$column] = $current; $this->attributes[$column] = array_values($current);
$this->syncOriginalAttribute($column); $this->syncOriginalAttribute($column);
} }
......
...@@ -406,14 +406,28 @@ class ModelTest extends TestCase { ...@@ -406,14 +406,28 @@ class ModelTest extends TestCase {
public function testPushPull() public function testPushPull()
{ {
$user = User::create(array('name' => 'John Doe', 'tags' => array())); $user = User::create(array('name' => 'John Doe'));
$user->push('tags', 'tag1');
$user->push('tags', array('tag1', 'tag2'));
$user->push('tags', 'tag2', true);
$result = User::where('_id', $user->_id)->push('tags', 'tag1'); $this->assertEquals(array('tag1', 'tag1', 'tag2'), $user->tags);
$user = User::where('_id', $user->_id)->first(); $user = User::where('_id', $user->_id)->first();
$this->assertEquals(array('tag1', 'tag1', 'tag2'), $user->tags);
$this->assertTrue(is_int($result)); $user->pull('tags', 'tag1');
$this->assertTrue(is_array($user->tags));
$this->assertEquals(1, count($user->tags)); $this->assertEquals(array('tag2'), $user->tags);
$user = User::where('_id', $user->_id)->first();
$this->assertEquals(array('tag2'), $user->tags);
$user->push('tags', 'tag3');
$user->pull('tags', array('tag2', 'tag3'));
$this->assertEquals(array(), $user->tags);
$user = User::where('_id', $user->_id)->first();
$this->assertEquals(array(), $user->tags);
} }
public function testRaw() public function testRaw()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment