/** * @param mixed $value * @return mixed|ViewModel * @throws \InvalidArgumentException */ public function filter($value) { $model = new ViewModel(); $this->container = array(); $this->extract($value); $model->setVariables($this->container); if (!isset($this->job)) { throw new \InvalidArgumentException('cannot create a viewModel for Templates without an $job'); } $model->setTemplate('templates/' . $this->job->getTemplate() . '/index'); return $model; }
/** * @testdox Allows setting the status of a job posting * @covers Jobs\Entity\Job::getTemplate * @covers Jobs\Entity\Job::setTemplate * @dataProvider provideSetGetTemplateTestData */ public function testSetGetTemplate($template, $expectedTemplate) { $this->target->setTemplate($template); $this->assertEquals($expectedTemplate, $this->target->getTemplate()); }