public function testSerialization() { $data = json_decode(json_encode($this->writer), true); $this->assertInternalType('array', $data); $this->assertArrayHasKey('id', $data); $this->assertSame($this->writer->getId(), $data['id']); $this->assertArrayHasKey('type', $data); $this->assertSame(Writer::class, $data['type']); $this->assertArrayHasKey('name', $data); $this->assertSame($this->writer->getName(), $data['name']); $this->assertArrayHasKey('birthday', $data); $this->assertSame($this->writer->getBirthday()->getTimestamp(), $data['birthday']); }
public function testCopyWithSave() { $writer_copy = $this->writer->copy(true); $this->assertInstanceOf(Writer::class, $writer_copy); $this->assertTrue($writer_copy->isLoaded()); $this->assertNotEquals($this->writer->getId(), $writer_copy->getId()); foreach ($writer_copy->getFields() as $field) { if ($writer_copy->isPrimaryKey($field)) { continue; } $old_writer_value = $this->writer->getFieldValue($field); $writer_copy_value = $writer_copy->getFieldValue($field); if ($old_writer_value instanceof DateValueInterface && $writer_copy_value instanceof DateValueInterface || $old_writer_value instanceof DateTimeValueInterface && $writer_copy_value instanceof DateTimeValueInterface) { $this->assertSame($old_writer_value->getTimestamp(), $writer_copy_value->getTimestamp()); } else { $this->assertSame($old_writer_value, $writer_copy_value); } } }
/** * @expectedException \LogicException */ public function testChangeIdToExistingRecord() { $chekhov = new Writer($this->connection, $this->pool); $chekhov->setName('Anton Chekhov'); $chekhov->setBirthday(new DateValue('1860-01-29')); $chekhov->save(); $this->assertSame(4, $chekhov->getId()); $this->assertEquals(1, $this->connection->executeFirstCell('SELECT COUNT(`id`) AS "row_count" FROM `writers` WHERE `id` = ?', 1)); $this->assertEquals(1, $this->connection->executeFirstCell('SELECT COUNT(`id`) AS "row_count" FROM `writers` WHERE `id` = ?', 4)); $chekhov->setId(1); $chekhov->save(); }
public function testPassWhenLoadedObjectsMatch() { $this->assertTrue($this->writer->is($this->pool->reload(Writer::class, $this->writer->getId()))); }