karma_common.conf.js 3.27 KB
Newer Older
1
// Karma config for common suite.
2
// Docs and troubleshooting tips in common/static/common/js/karma.common.conf.js
3

4
/* eslint-env node */
5 6 7 8
'use strict';
var path = require('path');
var configModule = require(path.join(__dirname, '../../common/static/common/js/karma.common.conf.js'));

9 10 11 12
var options = {

    useRequireJs: false,

13
    normalizePathsForCoverageFunc: function(appRoot, pattern) {
14 15 16
        return path.join(appRoot, '/common/static/' + pattern);
    },

17
    // Avoid adding files to this list. Use RequireJS.
18 19 20
    libraryFilesToInclude: [
        {pattern: 'coffee/src/ajax_prefix.js', included: true},
        {pattern: 'js/vendor/draggabilly.js', included: true},
21 22
        {pattern: 'common/js/vendor/jquery.js', included: true},
        {pattern: 'common/js/vendor/jquery-migrate.js', included: true},
23 24 25
        {pattern: 'coffee/src/jquery.immediateDescendents.js', included: true},
        {pattern: 'js/vendor/jquery.leanModal.js', included: true},
        {pattern: 'js/vendor/jquery.timeago.js', included: true},
26 27 28 29 30
        {pattern: 'js/vendor/jquery.truncate.js', included: true},
        {pattern: 'js/vendor/mustache.js', included: true},
        {pattern: 'js/vendor/URI.min.js', included: true},
        {pattern: 'js/test/add_ajax_prefix.js', included: true},
        {pattern: 'js/test/i18n.js', included: true},
31 32 33 34 35

        {pattern: 'common/js/vendor/underscore.js', included: true},
        {pattern: 'common/js/vendor/underscore.string.js', included: true},
        {pattern: 'common/js/vendor/backbone.js', included: true},

36
        {pattern: 'edx-ui-toolkit/js/utils/global-loader.js', included: true},
37 38
        {pattern: 'edx-ui-toolkit/js/utils/string-utils.js', included: true},
        {pattern: 'edx-ui-toolkit/js/utils/html-utils.js', included: true},
39 40

        {pattern: 'js/vendor/jasmine-imagediff.js', included: true},
41
        {pattern: 'common/js/spec_helpers/jasmine-extensions.js', included: true},
42 43 44
        {pattern: 'common/js/spec_helpers/jasmine-waituntil.js', included: true},
        {pattern: 'common/js/spec_helpers/discussion_spec_helper.js', included: true},
        {pattern: 'common/js/spec/discussion/view/discussion_view_spec_helper.js', included: true}
45 46 47
    ],

    libraryFiles: [
48
    ],
49

50 51
    // Make sure the patterns in sourceFiles and specFiles do not match the same file.
    // Otherwise Istanbul which is used for coverage tracking will cause tests to not run.
52
    sourceFiles: [
53
        {pattern: 'coffee/src/**/*.js', included: true},
54 55
        {pattern: 'common/js/xblock/core.js', included: true},
        {pattern: 'common/js/xblock/runtime.v1.js', included: true},
56
        {pattern: 'common/js/discussion/**/*.js', included: true},
57 58
        {pattern: 'js/capa/src/**/*.js', included: true},
        {pattern: 'js/src/**/*.js', included: true}
59
    ],
60

61
    specFiles: [
62
        {pattern: 'coffee/spec/**/*.js', included: true},
63
        {pattern: 'common/js/spec/xblock/*.js', included: true},
64
        {pattern: 'common/js/spec/discussion/**/*spec.js', included: true},
65
        {pattern: 'js/**/*spec.js', included: true}
66
    ],
67

68
    fixtureFiles: [
69 70 71
        {pattern: 'js/fixtures/**/*.html'},
        {pattern: 'js/capa/fixtures/**/*.html'},
        {pattern: 'common/templates/**/*.underscore'}
72 73
    ]
};
Ehtesham committed
74

75
module.exports = function(config) {
76
    configModule.configure(config, options);
77
};