<?php class PostMocker extends AbstractMocker implements IMocker { private $tagMocker; private $testSupport; public function __construct( TagMocker $tagMocker, TestSupport $testSupport) { $this->testSupport = $testSupport; $this->tagMocker = $tagMocker; } public function mockSingle() { $post = PostModel::spawn(); $post->setType(new PostType(PostType::Image)); $post->setTags([$this->tagMocker->mockSingle()]); copy($this->testSupport->getPath('image.jpg'), $post->getContentPath()); return PostModel::save($post); } }