X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=Civi%2FTest.php;h=e70f0f40262f558e912b472ddbc5a1673370fe6c;hb=33545abf2fad633caa5f2020fa47191ccd49b547;hp=e59c1e58a1c9c4ac259633842b69a9b3bfd315ce;hpb=728bbd5bbad0b5269dcd0a4cb70384291d309e70;p=civicrm-core.git diff --git a/Civi/Test.php b/Civi/Test.php index e59c1e58a1..e70f0f4026 100644 --- a/Civi/Test.php +++ b/Civi/Test.php @@ -67,7 +67,7 @@ class Test { } /** - * Get the schema manager. + * Create a builder for the headless environment. * * @return \Civi\Test\CiviEnvBuilder * @@ -78,7 +78,7 @@ class Test { */ public static function headless() { $civiRoot = dirname(__DIR__); - $builder = new \Civi\Test\CiviEnvBuilder('CiviTesterSchema'); + $builder = new \Civi\Test\CiviEnvBuilder('CiviEnvBuilder'); $builder ->callback(function ($ctx) { if (CIVICRM_UF !== 'UnitTests') { @@ -87,7 +87,7 @@ class Test { $dbName = \Civi\Test::dsn('database'); echo "Installing {$dbName} schema\n"; \Civi\Test::schema()->dropAll(); - }, 'msg-drop') + }, 'headless-drop') ->sqlFile($civiRoot . "/sql/civicrm.mysql") ->sql("DELETE FROM civicrm_extension") ->callback(function ($ctx) { @@ -96,6 +96,27 @@ class Test { return $builder; } + /** + * Create a builder for end-to-end testing on the live environment. + * + * @return \Civi\Test\CiviEnvBuilder + * + * @code + * \Civi\Test::e2e()->apply(); + * \Civi\Test::e2e()->install('foo.bar')->apply(); + * @endCode + */ + public static function e2e() { + $builder = new \Civi\Test\CiviEnvBuilder('CiviEnvBuilder'); + $builder + ->callback(function ($ctx) { + if (CIVICRM_UF === 'UnitTests') { + throw new \RuntimeException("\\Civi\\Test::e2e() requires a real CMS. Found CIVICRM_UF=UnitTests."); + } + }, 'e2e-check'); + return $builder; + } + /** * @return \Civi\Test\Schema */