CodeKeyTest.php 1.4 KB

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