Ejemplo n.º 1
0
 /**
  * @dataProvider provideSaveSnippetPage
  */
 public function testSaveLoadSnippetPage($webspaceKey, $templateKey, $locale, $data)
 {
     foreach ($data['hotels'] as &$varName) {
         $varName = $this->{$varName}->getUUid();
     }
     $req = ContentMapperRequest::create()->setType(Structure::TYPE_PAGE)->setWebspaceKey($webspaceKey)->setTemplateKey($templateKey)->setLocale($locale)->setState(StructureInterface::STATE_PUBLISHED)->setUserId(1)->setData($data);
     $page = $this->contentMapper->saveRequest($req);
     foreach ($data as $key => $value) {
         $this->assertEquals($value, $page->getPropertyValue($key));
     }
     $this->assertInstanceOf(PageBridge::class, $page);
     $this->assertEquals($templateKey, $page->getKey());
     $page = $this->contentMapper->load($page->getUuid(), $webspaceKey, $locale);
     $this->assertInstanceOf(PageBridge::class, $page);
     $this->assertEquals($templateKey, $page->getKey());
     foreach ($data as $key => $value) {
         if ($key === 'hotels') {
             continue;
         }
         $this->assertEquals($value, $page->getPropertyValue($key), 'Checking property "' . $key . '"');
     }
     $hotels = $page->getPropertyValue('hotels');
     $this->assertCount(count($data['hotels']), $hotels);
     $this->assertEquals($data['hotels'], $hotels);
 }
 public function propertiesProvider()
 {
     $nodes = [];
     $max = 15;
     for ($i = 0; $i < $max; ++$i) {
         $data = ['title' => 'News ' . $i, 'url' => '/news/news-' . $i, 'ext' => ['excerpt' => ['title' => 'Excerpt Title ' . $i, 'tags' => []]]];
         $template = 'simple';
         if ($i > 2 * $max / 3) {
             $template = 'block';
             $data['article'] = [['title' => 'Block Title ' . $i, 'article' => 'Blockarticle ' . $i, 'type' => 'test'], ['title' => 'Block Title 2 ' . $i, 'article' => 'Blockarticle2 ' . $i, 'type' => 'test']];
         } elseif ($i > $max / 3) {
             $template = 'article';
             $data['article'] = 'Text article ' . $i;
         }
         $request = ContentMapperRequest::create()->setData($data)->setTemplateKey($template)->setWebspaceKey('sulu_io')->setLocale('en')->setUserId(1)->setType('page')->setState(Structure::STATE_PUBLISHED);
         $node = $this->mapper->saveRequest($request);
         $nodes[$node->getUuid()] = $node;
     }
     return $nodes;
 }