2019-10-16 10:10:54 +00:00
|
|
|
/*
|
|
|
|
* Bundle all test files together into a single bundle, and run tests against
|
|
|
|
* this single bundle.
|
|
|
|
* We are using karma-webpack to bundle our tests and the 'default' strategy is
|
|
|
|
* to create a bundle for each test file. This isolates the tests better, but
|
|
|
|
* causes a problem with Angular. The issue with Angular tests is because we
|
|
|
|
* load a single global copy of Angular (see karma.conf.js) but
|
2019-11-05 14:00:13 +00:00
|
|
|
* frontend/js/base.js is included in each bundle, meaning the Angular app is
|
2019-10-16 10:10:54 +00:00
|
|
|
* initialised for each bundle when it is loaded onto the page when Karma
|
|
|
|
* starts. This means that only the last bundle will have controllers/directives
|
|
|
|
* registered against it, ultimately meaning that all other bundles will fail
|
|
|
|
* because Angular cannot find the controller/directive under test.
|
|
|
|
*/
|
|
|
|
|
2019-11-05 14:00:13 +00:00
|
|
|
// Import from the top-level any JS files within a test/frontend
|
2019-10-16 10:10:54 +00:00
|
|
|
// directory
|
2019-11-05 14:00:13 +00:00
|
|
|
const context = require.context('../../', true, /test\/frontend\/.*\.js$/)
|
2019-10-16 10:10:54 +00:00
|
|
|
context.keys().forEach(context)
|