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