/** * @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)); }