karma - Allow execution with debug_mode=1. Hide jsonFormatter.
authorTim Otten <totten@civicrm.org>
Thu, 12 May 2022 20:38:48 +0000 (13:38 -0700)
committerTim Otten <totten@civicrm.org>
Thu, 12 May 2022 20:49:28 +0000 (13:49 -0700)
Before
------

If you enable `debug_mode=1` and run `karma`, it produces a large number of failures:

```
PhantomJS 2.1.1 (Mac OS 0.0.0): Executed 81 of 81 (55 FAILED) (2.686 secs / 2.387 secs)
```

After
-----

If you enable `debug_mode=1` and run `karma`, it passes:

```
PhantomJS 2.1.1 (Mac OS 0.0.0): Executed 81 of 81 SUCCESS (7.232 secs / 6.95 secs)
```

Comments
--------

The `jsonFormatter` plugin is a DX nicety; when browsing a page with `?angularDebug=1` and with `debug_mode=1`, it will load extra
files so that `<crm-ui-debug>` panels look pretty. But ordinarily, loading these files is extraneous.

ang/crmUi.ang.php
karma.conf.js

index 21663021634d89693d2ec4427dc745da628f1262..3351c8748527916ca9843ea67f7c212b71d152fa 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 // This file declares an Angular module which can be autoloaded
-$isDebug = Civi::settings()->get('debug_enabled');
+$isPretty = \Civi::settings()->get('debug_enabled') && !defined('CIVICRM_KARMA');
 
 return [
   'ext' => 'civicrm',
@@ -13,6 +13,6 @@ return [
       'ui.utils',
     ],
     // Only require the +10kb if we're likely to need it.
-    $isDebug ? ['jsonFormatter'] : []
+    $isPretty ? ['jsonFormatter'] : []
   ),
 ];
index 787b6752c258447eb0c4f6b2cab5a2e12c5d4543..d55ae83787199cd07cc980dcd4862ce8f740e0a6 100644 (file)
@@ -1,6 +1,7 @@
 var cv = require('civicrm-cv')({mode: 'sync'});
 var _CV = cv('vars:show');
 var cmd =
+  'define("CIVICRM_KARMA", 1);' +
   'CRM_Core_BAO_ConfigSetting::enableComponent("CiviCase");' +
   'global $civicrm_root;' +
   '$f = CRM_Utils_File::addTrailingSlash($civicrm_root)."tmp/karma.cv.js";' +