public function testBuildPageWithTemplateTemplate() { $builder = new WidgetMapBuilder(); $grandtemplate = new Template(); $template = new Template(); $template->setTemplate($grandtemplate); $view = new Page(); $view->setTemplate($template); $widget3 = $this->newWidgetMap(3, null, null, $grandtemplate, $this->newWidget(3)); $widget2 = $this->newWidgetMap(2, $widget3, WidgetMap::POSITION_BEFORE, $template, $this->newWidget(2)); $widget1 = $this->newWidgetMap(1, $widget2, WidgetMap::POSITION_AFTER, $view, $this->newWidget(1)); $widget4 = $this->newWidgetMap(4, $widget3, WidgetMap::POSITION_AFTER, $view, $this->newWidget(4)); $builtWidgetMap = $builder->build($view); $order = [2, 1, 3, 4]; $i = 0; foreach ($builtWidgetMap['content'] as $widgetMap) { $this->assertEquals($order[$i++], $widgetMap->getWidget()->getId()); } }