/** * @param string $name * * @return Page * * @throws \RuntimeException */ public function getPage($name) { if (null === $this->pageObjectFactory) { throw new \RuntimeException('To create pages you need to pass a factory with setPageObjectFactory()'); } return $this->pageObjectFactory->createPage($name); }
function it_creates_a_page(Factory $factory, Page $page) { $factory->createPage('Home')->willReturn($page); $this->callGetPage('Home')->shouldReturn($page); }
/** * @param string $name * * @return Page */ public function createPage($name) { return $this->decoratedFactory->createPage($name); }
/** * @param string $name * * @return Page */ protected function getPage($name) { return $this->factory->createPage($name); }
function it_delegates_create_page_calls_to_the_decorated_factory(Factory $decoratedFactory, Page $page) { $decoratedFactory->createPage('Foo')->willReturn($page); $this->createPage('Foo')->shouldReturn($page); }
function it_should_create_a_page(PageObjectFactory $pageObjectFactory, Page $page) { $pageObjectFactory->createPage('Article list')->willReturn($page); $this->setPageObjectFactory($pageObjectFactory); $this->getPage('Article list')->shouldReturn($page); }