CodeKeyTest.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. App::uses('CodeKey', 'Tools.Model');
  3. App::uses('MyCakeTestCase', 'Tools.TestSuite');
  4. class CodeKeyTest extends MyCakeTestCase {
  5. public $CodeKey = null;
  6. public $fixtures = ['plugin.tools.code_key'];
  7. public function setUp() {
  8. parent::setUp();
  9. $this->CodeKey = ClassRegistry::init('Tools.CodeKey');
  10. }
  11. public function testCodeKeyInstance() {
  12. $this->assertInstanceOf('CodeKey', $this->CodeKey);
  13. }
  14. public function testGenerateKey() {
  15. $key = $this->CodeKey->generateKey(4);
  16. //pr($key);
  17. $this->assertTrue(!empty($key) && strlen($key) === 4);
  18. }
  19. public function testNewKeySpendKey() {
  20. $key = $this->CodeKey->newKey('test', null, null, 'xyz');
  21. $this->assertTrue(!empty($key));
  22. $res = $this->CodeKey->useKey('test', $key);
  23. //pr($res);
  24. $this->assertTrue(!empty($res));
  25. $res = $this->CodeKey->useKey('test', $key);
  26. //pr($res);
  27. $this->assertTrue(!empty($res) && !empty($res['CodeKey']['used']));
  28. $res = $this->CodeKey->useKey('test', $key . 'x');
  29. $this->assertFalse($res);
  30. $res = $this->CodeKey->useKey('testx', $key);
  31. $this->assertFalse($res);
  32. }
  33. public function testGarbageCollector() {
  34. $data = [
  35. 'created' => date(FORMAT_DB_DATETIME, time() - 3 * MONTH),
  36. 'type' => 'y',
  37. 'key' => 'x'
  38. ];
  39. $this->CodeKey->create();
  40. $this->CodeKey->save($data, ['validate' => false]);
  41. $count = $this->CodeKey->find('count');
  42. $this->CodeKey->garbageCollector();
  43. $count2 = $this->CodeKey->find('count');
  44. $this->assertTrue($count > $count2);
  45. }
  46. }