PageRenderTime 59ms CodeModel.GetById 33ms RepoModel.GetById 0ms app.codeStats 0ms

/app/Test/Case/Model/EnumerationTest.php

http://github.com/yandod/candycane
PHP | 179 lines | 104 code | 21 blank | 54 comment | 0 complexity | 7d0f093d5b21b47336cb6474ecfa5e5f MD5 | raw file
Possible License(s): MIT
  1. <?php
  2. App::uses('Enumeration', 'Model');
  3. /**
  4. * Enumeration Test Case
  5. *
  6. */
  7. class EnumerationTestCase extends CakeTestCase
  8. {
  9. /**
  10. * Fixtures
  11. *
  12. * @var array
  13. */
  14. public $fixtures = array(
  15. 'app.version',
  16. 'app.user',
  17. 'app.project',
  18. 'app.document',
  19. 'app.issue_category',
  20. 'app.issue_status',
  21. 'app.enumeration',
  22. 'app.tracker',
  23. 'app.time_entry',
  24. 'app.changeset',
  25. 'app.changesets_issue',
  26. 'app.issue',
  27. 'app.watcher',
  28. 'app.custom_value',
  29. 'app.custom_field',
  30. );
  31. /**
  32. * setUp method
  33. *
  34. * @return void
  35. */
  36. public function setUp()
  37. {
  38. parent::setUp();
  39. $this->Enumeration = ClassRegistry::init('Enumeration');
  40. }
  41. /**
  42. * tearDown method
  43. *
  44. * @return void
  45. */
  46. public function tearDown()
  47. {
  48. unset($this->Enumeration);
  49. parent::tearDown();
  50. }
  51. /**
  52. * testGetValues method
  53. *
  54. * @return void
  55. */
  56. public function testGetValues()
  57. {
  58. $order = 'ASC';
  59. $option = 'IPRI';
  60. $data = $this->Enumeration->get_values($option, $order);
  61. $this->assertEqual(1, $data[0]['Enumeration']['position']);
  62. $this->assertEqual('IPRI', $data[0]['Enumeration']['opt']);
  63. $extractData = Set::extract("{n}.Enumeration.opt", $data);
  64. $this->assertEqual(1, count(array_unique($extractData)));
  65. $order = '';
  66. $option = 'DCAT';
  67. $data = $this->Enumeration->get_values($option, $order);
  68. $this->assertEqual(1, $data[0]['Enumeration']['position']);
  69. $this->assertEqual('DCAT', $data[0]['Enumeration']['opt']);
  70. $extractData = Set::extract("{n}.Enumeration.opt", $data);
  71. $this->assertEqual(1, count(array_unique($extractData)));
  72. $order = 'DESC';
  73. $option = 'ACTI';
  74. $data = $this->Enumeration->get_values($option, $order);
  75. $this->assertEqual(3, $data[0]['Enumeration']['position']);
  76. $this->assertEqual('ACTI', $data[0]['Enumeration']['opt']);
  77. $extractData = Set::extract("{n}.Enumeration.opt", $data);
  78. $this->assertEqual(1, count(array_unique($extractData)));
  79. }
  80. /**
  81. * testDefaultValue method
  82. *
  83. * @return void
  84. */
  85. public function testDefaultValue()
  86. {
  87. $isTrueOption = 'IPRI';
  88. $data = $this->Enumeration->default_value($isTrueOption);
  89. $this->assertEquals(1,$data['Enumeration']['is_default']);
  90. $isFalseOption = 'DCAT';
  91. $data = $this->Enumeration->default_value($isFalseOption);
  92. $this->assertEquals($data, array());
  93. }
  94. /**
  95. * testObjectsCount method
  96. *
  97. * @return void
  98. */
  99. public function testObjectsCount()
  100. {
  101. $data = $this->Enumeration->find('all');
  102. $this->assertEqual(1, $this->Enumeration->objects_count($data[0]));
  103. $this->assertEqual(3, $this->Enumeration->objects_count($data[8]));
  104. $this->assertEqual(1, $this->Enumeration->objects_count($data[9]));
  105. }
  106. /**
  107. * testInUse method
  108. *
  109. * @return void
  110. */
  111. public function testInUse()
  112. {
  113. $data = $this->Enumeration->find('all');
  114. $this->assertTrue($this->Enumeration->in_use($data[0]));
  115. $this->assertTrue($this->Enumeration->in_use($data[8]));
  116. $this->assertTrue($this->Enumeration->in_use($data[9]));
  117. }
  118. /**
  119. * testDestroy method
  120. *
  121. * @return void
  122. */
  123. public function testDestroy()
  124. {
  125. $reassign_to = 5;
  126. $data = $this->Enumeration->find('all');
  127. $row = $data[3];
  128. $enumerationId = $row['Enumeration']['id'];
  129. $model = ClassRegistry::init($this->Enumeration->OPTIONS[$row['Enumeration']['opt']]['model']);
  130. // reassign前
  131. $foreignKeyColumnName = $this->Enumeration->OPTIONS[$row['Enumeration']['opt']]['foreign_key'];
  132. $modelData = $model->find('all', array('conditions' => array(
  133. $foreignKeyColumnName => $enumerationId
  134. )));
  135. $this->assertEqual($enumerationId, $modelData[0][$model->name]['priority_id']);
  136. // destroy
  137. $this->Enumeration->destroy($row);
  138. // reassign後
  139. $modelData = $model->find('all', array('conditions' => array(
  140. $foreignKeyColumnName => $enumerationId
  141. )));
  142. $this->assertEqual(0, count($modelData));
  143. }
  144. /**
  145. * testDeleteOfDestroy method
  146. *
  147. * @return void
  148. */
  149. public function testDeleteOfDestroy()
  150. {
  151. $enumerationId = 4;
  152. // 削除前
  153. $this->assertEqual(1, count($this->Enumeration->findById($enumerationId)));
  154. $this->Enumeration->delete($enumerationId);
  155. // 削除後
  156. $this->assertEquals($this->Enumeration->findById($enumerationId), array());
  157. }
  158. }