Merge pull request #7661 from agileware/crm-17848
[civicrm-core.git] / tests / phpunit / CRM / Core / DAOConformanceTest.php
1 <?php
2
3 /**
4 * Class for testing new DAO meet required standards.
5 *
6 * Class CRM_Core_DAOTest
7 */
8 class CRM_Core_DAOConformanceTest extends CiviUnitTestCase {
9
10 /**
11 * Check all fields have defined titles.
12 *
13 * @dataProvider getAllDAO
14 */
15 public function testFieldsHaveTitles($class) {
16 $dao = new $class();
17 $fields = $dao->fields();
18 foreach ($fields as $name => $field) {
19 $this->assertArrayHasKey('title', $field, "A title must be defined for $name in $class");
20 }
21 }
22
23 /**
24 * Get all DAO classes.
25 */
26 public function getAllDAO() {
27 $this->setUp(); // Ugh. Need full bootstrap to enumerate classes.
28 $classList = CRM_Core_DAO_AllCoreTables::getClasses();
29 $return = array();
30 foreach ($classList as $class) {
31 $return[] = array($class);
32 }
33 return $return;
34 }
35
36 }