UNPKG

linagora-rse

Version:
165 lines (154 loc) 5.34 kB
'use strict'; module.exports = function(grunt) { var CI = grunt.option('ci'); var KARMA_REPORTERS = (grunt.option('reporter') || '').split(',').filter(Boolean); if (!KARMA_REPORTERS.length) { KARMA_REPORTERS = CI ? ['spec', 'coverage'] : ['dots']; } grunt.initConfig({ concat: { options: { separator: ';' } }, splitfiles: { options: { chunk: 10 }, backend: { options: { common: ['test/unit-backend/all.js'], target: 'mochacli:backend' }, files: { src: ['test/unit-backend/**/*.js'] } }, modulesBackend: { options: { common: ['test/module-unit-backend-all.js'], target: 'mochacli:modulesBackend' }, files: { src: ['modules/**/test/unit-backend/**/*.js'] } }, midway: { options: { common: ['test/midway-backend/all.js'], target: 'mochacli:midway' }, files: { src: ['test/midway-backend/**/*.js'] } }, modulesMidway: { options: { common: ['test/midway-backend/all.js'], target: 'mochacli:modulesMidway' }, files: { src: ['modules/**/test/midway-backend/**/*.js'] } }, modulesStorage: { options: { common: ['test/unit-storage/all.js'], target: 'mochacli:modulesStorage' }, files: { src: ['modules/**/test/unit-storage/**/*.js'] } } }, mochacli: { options: { flags: process.env.INSPECT ? ['--debug-brk', '--inspect'] : ['--max-old-space-size=4096'], debug: false, require: ['chai', 'mockery'], reporter: 'spec', timeout: process.env.TEST_TIMEOUT || 20000, env: { ESN_CUSTOM_TEMPLATES_FOLDER: 'testscustom' } }, backend: { options: { files: ['test/unit-backend/all.js', grunt.option('test') || 'test/unit-backend/**/*.js'] } }, modulesBackend: { options: { files: ['test/module-unit-backend-all.js', grunt.option('test') || 'modules/**/test/unit-backend/**/*.js'] } }, midway: { options: { files: ['test/midway-backend/all.js', grunt.option('test') || 'test/midway-backend/**/*.js'] } }, modulesMidway: { options: { files: ['test/midway-backend/all.js', grunt.option('test') || 'modules/**/test/midway-backend/**/*.js'] } }, storage: { options: { files: ['test/unit-storage/all.js', grunt.option('test') || 'test/unit-storage/**/*.js'] } }, modulesStorage: { options: { files: ['test/unit-storage/all.js', grunt.option('test') || 'modules/**/test/unit-storage/**/*.js'] } } }, karma: { unit: { configFile: './test/config/karma.conf.js', browsers: ['PhantomJS'], reporters: KARMA_REPORTERS }, modulesUnit: { configFile: './test/config/karma.modules.conf.js', browsers: ['PhantomJS'], reporters: KARMA_REPORTERS }, all: { configFile: './test/config/karma.conf.js', browsers: ['PhantomJS', 'Firefox', 'Chrome'], reporters: KARMA_REPORTERS }, modulesAll: { configFile: './test/config/karma.modules.conf.js', browsers: ['PhantomJS', 'Firefox', 'Chrome'], reporters: KARMA_REPORTERS } }, protractor: { options: { configFile: './test/config/protractor.conf.js' }, all: {} } }); grunt.loadNpmTasks('grunt-shell'); grunt.loadNpmTasks('grunt-mocha-cli'); grunt.loadNpmTasks('grunt-karma'); grunt.loadNpmTasks('grunt-protractor-runner'); grunt.loadTasks('tasks'); grunt.registerTask('test-unit-backend', 'run the backend unit tests (to be used with .only)', ['splitfiles:backend']); grunt.registerTask('test-modules-unit-backend', 'run modules unit backend tests', ['splitfiles:modulesBackend']); grunt.registerTask('test-midway-backend', 'run midway tests (to be used with .only)', ['splitfiles:midway']); grunt.registerTask('test-modules-midway-backend', 'run modules midway backend tests', ['splitfiles:modulesMidway']); grunt.registerTask('test-unit-storage', 'run storage tests', ['mochacli:storage']); grunt.registerTask('test-modules-unit-storage', 'run modules unit storage tests', ['splitfiles:modulesStorage']); grunt.registerTask('test-backend', 'run both the unit & midway tests', ['test-unit-backend', 'test-unit-storage', 'test-midway-backend']); grunt.registerTask('test-frontend', 'run the FrontEnd tests', ['karma:unit']); grunt.registerTask('test-modules-frontend', 'run the FrontEnd tests of modules', ['karma:modulesUnit']); grunt.registerTask('test-frontend-all', 'run the FrontEnd tests on all possible browsers', ['karma:all']); grunt.registerTask('test-modules-frontend-all', 'run the FrontEnd tests of modules on all possible browsers', ['karma:modulesAll']); grunt.registerTask('test-e2e', 'Launch integration tests', ['protractor:all']); grunt.registerTask('test', ['test-backend', 'test-frontend']); grunt.registerTask('default', ['test']); };