/**
  * Generate a content
  *
  * @param string  $type
  * @param int     $id
  * @param string  $name
  * @param string  $language
  * @param int     $version
  * @param boolean $deleted
  *
  * @return Content
  */
 protected function generateContent($type, $id, $name, $language, $version, $deleted)
 {
     $content = new Content();
     $content->setContentId($id);
     $content->setContentType($type);
     $content->setContentTypeVersion(1);
     $content->setDeleted($deleted);
     $content->setName($name);
     $content->setLanguage($language);
     $content->setVersion($version);
     $content->setSiteId('2');
     switch ($version) {
         case 2:
             $content->setStatus($this->getReference('status-pending'));
             break;
         case 4:
             $content->setStatus($this->getReference('status-draft'));
             break;
         default:
             $content->setStatus($this->getReference('status-published'));
             break;
     }
     if (3 == $version) {
         $content->setCurrentlyPublished(true);
     }
     return $content;
 }
 /**
  * Test submit form with transformation on one field
  */
 public function testFormFieldTransformationException()
 {
     $content = new Content();
     $content->setContentType('news');
     $content->setSiteId('2');
     $content->setLanguage('fr');
     $form = $this->formFactory->create('oo_content', $content, array('csrf_protection' => false));
     $form->submit(array('name' => 'foo', 'keywords' => null, 'title' => 'foo', 'publish_start' => 'foo', 'publish_end' => '2015-12-17', 'image' => null, 'intro' => 'foo', 'text' => null));
     $this->assertSame('foo', $form->get('name')->getData());
     $this->assertCount(1, $form->get('publish_start')->getErrors());
     $this->assertNull($form->get('publish_start')->getData());
     $this->assertCount(1, $form->getErrors(true));
 }
 /**
  * Generate a content
  *
  * @param string $type
  * @param int    $id
  * @param string $name
  * @param string $language
  *
  * @return Content
  */
 protected function generateContent($type, $id, $name, $language)
 {
     $content = new Content();
     $content->setContentId($id);
     $content->setContentType($type);
     $content->setContentTypeVersion(1);
     $content->setDeleted(false);
     $content->setName($name);
     $content->setLanguage($language);
     $content->setStatus($this->getReference('status-published'));
     $content->setCurrentlyPublished(true);
     $content->setVersion(1);
     $content->setSiteId('2');
     return $content;
 }
 /**
  * @return Content
  */
 protected function generateCustomerContentFr()
 {
     $content = new Content();
     $content->setContentId("jsmith");
     $content->setContentType("customer");
     $content->setContentTypeVersion(1);
     $content->setDeleted(false);
     $content->setCreatedBy('admin');
     $content->setStatus($this->getReference('status-published'));
     $content->setName("John Smith");
     $content->setLanguage("fr");
     $content->setVersion(1);
     $content->setLinkedToSite(true);
     $content->setSiteId('3');
     $attribute1 = $this->generateContentAttribute('firstname', 'John');
     $attribute2 = $this->generateContentAttribute('lastname', 'Smith');
     $attribute3 = $this->generateContentAttribute('identifier', 4987, 'integer');
     $content->addAttribute($attribute1);
     $content->addAttribute($attribute2);
     $content->addAttribute($attribute3);
     return $content;
 }