/**
  * @return void
  */
 public function testEncode()
 {
     $this->Addresses->behaviors()->Hashid->config('field', 'hid');
     $address = $this->Addresses->newEntity();
     $this->Addresses->encode($address);
     $this->assertNull($address->hid);
     $address->id = 2;
     $this->Addresses->encode($address);
     $expected = 'k5';
     $this->assertSame($expected, $address->hid);
 }
 /**
  * @return void
  */
 public function testSave()
 {
     $captcha = $this->Captchas->newEntity(['result' => 3, 'ip' => '127.0.0.1', 'session_id' => 1, 'created' => new DateTime('- 1 hour'), 'modified' => new DateTime('- 1 hour')]);
     $result = $this->Captchas->save($captcha);
     $this->assertTrue((bool) $result);
     $id = $captcha->id;
     $data = ['comment' => 'Foo'];
     $comment = $this->Comments->newEntity($data);
     $res = $this->Comments->save($comment);
     $this->assertFalse((bool) $res);
     $data['captcha_id'] = $id;
     $data['captcha_result'] = 2;
     $data['email_homepage'] = '';
     $comment = $this->Comments->newEntity($data);
     $res = $this->Comments->save($comment);
     $this->assertFalse((bool) $res);
     $data['captcha_result'] = 3;
     $data['email_homepage'] = '';
     $comment = $this->Comments->newEntity($data);
     $res = $this->Comments->save($comment);
     $this->assertTrue((bool) $res);
     $captcha = $this->Captchas->get($id);
     $this->assertNotEmpty($captcha->used);
 }
 /**
  * GeocoderBehaviorTest::testValidate()
  *
  * @return void
  */
 public function testValidate()
 {
     $is = $this->Addresses->validateLatitude(44);
     $this->assertTrue($is);
     $is = $this->Addresses->validateLatitude(110);
     $this->assertFalse($is);
     $is = $this->Addresses->validateLongitude(150);
     $this->assertTrue($is);
     $is = $this->Addresses->validateLongitude(-190);
     $this->assertFalse($is);
     $this->Addresses->validator()->add('lat', 'validateLatitude', ['provider' => 'table', 'rule' => 'validateLatitude', 'message' => 'validateLatitudeError']);
     $this->Addresses->validator()->add('lng', 'validateLongitude', ['provider' => 'table', 'rule' => 'validateLongitude', 'message' => 'validateLongitudeError']);
     $data = ['lat' => 44, 'lng' => 190];
     $entity = $this->Addresses->newEntity($data);
     $expectedErrors = ['lng' => ['validateLongitude' => __('validateLongitudeError')]];
     $this->assertEquals($expectedErrors, $entity->errors());
 }