public function testToArray() { $model = new EloquentModelStub(); $model->name = 'foo'; $model->age = null; $model->password = '******'; $model->setHidden(['password']); $model->setRelation('names', new Illuminate\Database\Eloquent\Collection([new EloquentModelStub(['bar' => 'baz']), new EloquentModelStub(['bam' => 'boom'])])); $model->setRelation('partner', new EloquentModelStub(['name' => 'abby'])); $model->setRelation('group', null); $model->setRelation('multi', new Illuminate\Database\Eloquent\Collection()); $array = $model->toArray(); $this->assertInternalType('array', $array); $this->assertEquals('foo', $array['name']); $this->assertEquals('baz', $array['names'][0]['bar']); $this->assertEquals('boom', $array['names'][1]['bam']); $this->assertEquals('abby', $array['partner']['name']); $this->assertNull($array['group']); $this->assertEquals([], $array['multi']); $this->assertFalse(isset($array['password'])); $model->setAppends(['appendable']); $array = $model->toArray(); $this->assertEquals('appended', $array['appendable']); }