/**
  * @return Models\Editor
  */
 protected function createEditor()
 {
     $editor = new Models\Editor(['name' => 'Editor 1']);
     $editor->save();
     $contact = new Models\Contact(['phone' => 123]);
     $editor->contact()->save($contact);
     $book = new Models\Book(['name' => 'Book 2']);
     $book->save();
     $editor->books()->save($book);
     return $editor;
 }
 public function test_does_add_required_fields_for_morph_many_relation()
 {
     $this->populateDatabase();
     $model = new Models\Editor();
     $query = $model->query()->with('books');
     $modifier = $this->_getInstance($query, ['fields' => 'name']);
     $modifier->modify($query);
     $reqFields = $modifier->addRequiredFields(['name']);
     $this->assertEquals(2, count($reqFields));
     $this->assertContains('id', $reqFields);
     $this->assertContains('name', $reqFields);
     $this->assertEquals(1, count($query->find(1)->books));
 }