public function testSingleField() { $new = Company::create(array('name' => 'Acme, Inc.')); $key = Company::meta('key'); $new->save(); $id = is_object($new->{$key}) ? (string) $new->{$key} : $new->{$key}; $entity = Company::first($id); $this->assertTrue($entity instanceof Entity); $this->skipIf(!$entity instanceof Entity, 'Queried object is not an entity.'); $expected = array($key => $id, 'name' => 'Acme, Inc.', 'active' => null, 'created' => null, 'modified' => null); $result = $entity->data(); $this->assertEqual($expected, $result); $entity = MockCompany::first(array('conditions' => array($key => $id), 'fields' => array($key))); $this->assertTrue($entity instanceof Entity); $this->skipIf(!$entity instanceof Entity, 'Queried object is not an entity.'); $expected = array($key => $id); $result = $entity->data(); $this->assertEqual($expected, $result); $entity = Company::find('first', array('conditions' => array($key => $id), 'fields' => array($key, 'name'))); $this->assertTrue($entity instanceof Entity); $this->skipIf(!$entity instanceof Entity, 'Queried object is not an entity.'); $entity->name = 'Acme, Incorporated'; $result = $entity->save(); $this->assertTrue($result); $entity = MockCompany::find('first', array('conditions' => array($key => $id), 'fields' => array($key, 'name'))); $this->assertEqual($entity->name, 'Acme, Incorporated'); $new->delete(); }
/** * Tests that a record can be created, saved, and subsequently re-read using a key * auto-generated by the data source. Uses short-hand `find()` syntax which does not support * compound keys. * * @return void */ public function testGetRecordByGeneratedId() { $key = Company::meta('key'); $company = Company::create(array('name' => 'Test Company')); $this->assertTrue($company->save()); $id = (string) $company->{$key}; $companyCopy = Company::find($id)->data(); $data = $company->data(); foreach ($data as $key => $value) { $this->assertTrue(isset($companyCopy[$key])); $this->assertEqual($data[$key], $companyCopy[$key]); } }