ImapSourceTest.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. App::uses('ImapSource', 'Tools.Model/Datasource');
  3. App::uses('ConnectionManager', 'Model');
  4. App::uses('AppModel', 'Model');
  5. App::uses('MyCakeTestCase', 'Tools.TestSuite');
  6. // Add new db config
  7. //ConnectionManager::create('test_imap', array('datasource' => 'TestImapSource', 'type' => 'imap'));
  8. /**
  9. * Imap Datasource Test
  10. *
  11. */
  12. class ImapSourceTest extends MyCakeTestCase {
  13. public $Model = null;
  14. /**
  15. * Imap Source Instance
  16. *
  17. * @var ImapSource
  18. */
  19. public $Imap = null;
  20. public function setUp() {
  21. parent::setUp();
  22. $this->Model = ClassRegistry::init('TestImap');
  23. $config = array();
  24. $this->Imap = new TestImapSource($config);
  25. }
  26. /**
  27. * TestFindWithoutConfig
  28. *
  29. * @expectedException RuntimeException
  30. */
  31. public function _testFindWithoutConfig() {
  32. $result = $this->Model->find('all');
  33. //$expected = ?
  34. //$this->assertEquals($expected, $result);
  35. $this->debug($result);
  36. }
  37. public function testMakeSearch() {
  38. $query = array(
  39. 'answered' => 1,
  40. 'seen' => true,
  41. 'deleted' => null,
  42. 'flagged' => false, // will be reversed
  43. );
  44. $res = $this->Imap->makeSearch($this->Model, array('conditions' => $query));
  45. $expected = array('SEEN', 'UNFLAGGED', 'ANSWERED');
  46. $this->assertEquals($expected, $res);
  47. }
  48. }
  49. /**
  50. * Testing Source
  51. *
  52. */
  53. class TestImapSource extends ImapSource {
  54. public function makeSearch(Model $Model, $query) {
  55. return $this->_makeSearch($Model, $query);
  56. }
  57. }
  58. /**
  59. * Testing Model
  60. *
  61. */
  62. class TestImap extends AppModel {
  63. public $useTable = false;
  64. public $recursive = -1;
  65. }