Merge pull request #14891 from eileenmcnaughton/saved_search
[civicrm-core.git] / karma.conf.js
1 var cv = require('civicrm-cv')({mode: 'sync'});
2 var _CV = cv('vars:show');
3 var cmd =
4 'CRM_Core_BAO_ConfigSetting::enableComponent("CiviCase");' +
5 'global $civicrm_root;' +
6 '$f = CRM_Utils_File::addTrailingSlash($civicrm_root)."tmp/karma.cv.js";' +
7 'mkdir(dirname($f), 0777, TRUE);' +
8 '$a=Civi::service("angular");' +
9 '$data = "var CRM = CRM || {}; CRM.angular =";' +
10 '$data .= json_encode(array(' +
11 ' "modules" => array_keys($a->getModules()),' +
12 ' "requires" => $a->getResources(array_keys($a->getModules()), "requires","requires"),' +
13 '));' +
14 '$data .= ";";' +
15 'file_put_contents($f, $data);' +
16 'return $f;';
17 var angularTempFile = cv(['php:eval', '-U', _CV.ADMIN_USER, cmd]);
18
19 module.exports = function(config) {
20 config.set({
21 autoWatch: true,
22 browsers: ['PhantomJS'],
23 exclude: [
24 'ang/api4Explorer/Explorer.js'
25 ],
26 files: [
27 'bower_components/phantomjs-polyfill/bind-polyfill.js',
28 'bower_components/jquery/dist/jquery.min.js',
29 'bower_components/jquery-ui/jquery-ui.min.js',
30 'bower_components/lodash-compat/lodash.min.js',
31 'bower_components/select2/select2.min.js',
32 'packages/jquery/plugins/jquery.blockUI.js',
33 'bower_components/jquery-validation/dist/jquery.validate.min.js',
34 'packages/jquery/plugins/jquery.timeentry.js',
35 'js/Common.js',
36 'js/crm.datepicker.js',
37 'bower_components/angular/angular.js',
38 'js/crm.angular.js',
39 angularTempFile,
40 'bower_components/angular-file-upload/angular-file-upload.js',
41 'bower_components/angular-jquery-dialog-service/dialog-service.js',
42 'bower_components/angular-route/angular-route.js',
43 'bower_components/angular-mocks/angular-mocks.js',
44 'bower_components/angular-ui-sortable/sortable.js',
45 'bower_components/angular-ui-utils/ui-utils.js',
46 'bower_components/angular-unsavedChanges/dist/unsavedChanges.js',
47 'js/crm.ajax.js',
48 'ang/*.js',
49 'ang/**/*.js',
50 'tests/karma/lib/*.js',
51 'tests/karma/**/*.js',
52 'ang/**/*.html'
53 ],
54 preprocessors : {
55 'ang/**/*.html' : ['ng-html2js']
56 },
57
58 ngHtml2JsPreprocessor: {
59 stripPrefix: 'ang/',
60 prependPrefix: '~/',
61 moduleName: 'crmResource'
62 },
63 frameworks: ['jasmine'],
64 logLevel: config.LOG_INFO,
65 port: 9876,
66 reporters: ['progress'],
67 junitReporter: {
68 useBrowserName: false,
69 outputFile: 'tests/output/karma.xml',
70 suite: ''
71 },
72 singleRun: false
73 });
74 };