コード例 #1
0
 /**
  * Tests __debugInfo
  *
  * @return void
  */
 public function testDebugInfo()
 {
     $entity = new Entity(['foo' => 'bar'], ['markClean' => true]);
     $entity->somethingElse = 'value';
     $entity->accessible('name', true);
     $entity->virtualProperties(['baz']);
     $entity->dirty('foo', true);
     $entity->errors('foo', ['An error']);
     $entity->invalid('foo', 'a value');
     $entity->source('foos');
     $result = $entity->__debugInfo();
     $expected = ['foo' => 'bar', 'somethingElse' => 'value', '[new]' => true, '[accessible]' => ['*' => true, 'name' => true], '[dirty]' => ['somethingElse' => true, 'foo' => true], '[original]' => [], '[virtual]' => ['baz'], '[errors]' => ['foo' => ['An error']], '[invalid]' => ['foo' => 'a value'], '[repository]' => 'foos'];
     $this->assertSame($expected, $result);
 }
コード例 #2
0
ファイル: MarshallerTest.php プロジェクト: rashmi/newrepo
 /**
  * Test merge with validation error
  *
  * @return void
  */
 public function testMergeWithValidation()
 {
     $data = ['title' => 'My title', 'author_id' => 'foo'];
     $marshall = new Marshaller($this->articles);
     $entity = new Entity(['id' => 1, 'title' => 'Foo', 'body' => 'My Content', 'author_id' => 1]);
     $this->assertEmpty($entity->invalid());
     $entity->accessible('*', true);
     $entity->isNew(false);
     $entity->clean();
     $this->articles->validator()->requirePresence('thing', 'update')->requirePresence('id', 'update')->add('author_id', 'numeric', ['rule' => 'numeric'])->add('id', 'numeric', ['rule' => 'numeric', 'on' => 'update']);
     $expected = clone $entity;
     $result = $marshall->merge($expected, $data, []);
     $this->assertSame($expected, $result);
     $this->assertSame(1, $result->author_id);
     $this->assertNotEmpty($result->errors('thing'));
     $this->assertEmpty($result->errors('id'));
     $this->articles->validator()->requirePresence('thing', 'create');
     $result = $marshall->merge($entity, $data, []);
     $this->assertEmpty($result->errors('thing'));
     $this->assertSame(['author_id' => 'foo'], $result->invalid());
 }