Skip to content

Instantly share code, notes, and snippets.

@mhaligowski
Created October 9, 2013 15:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mhaligowski/6903412 to your computer and use it in GitHub Desktop.
Save mhaligowski/6903412 to your computer and use it in GitHub Desktop.
Extending angular-scenario for using jQuery in tests
'use strict'
angular.scenario.dsl('restartDB', function() {
return function() {
return this.addFutureAction('restartDB', function($window, $document, done) {
var $ = $window.$; // this is for jQuery
$.post('/admin/tasks/resetStorage');
return done();
});
};
});
// Karma configuration
// http://karma-runner.github.io/0.10/config/configuration-file.html
module.exports = function(config) {
config.set({
// base path, that will be used to resolve files and exclude
basePath: '',
// testing framework to use (jasmine/mocha/qunit/...)
frameworks: ['ng-scenario'],
// list of files / patterns to load in the browser
files: [
'test/dsl/*.js',
'test/e2e/**/*.js'
],
// list of files / patterns to exclude
exclude: [],
// web server port
port: 12345,
// level of logging
// possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
logLevel: config.LOG_INFO,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,
// Start these browsers, currently available:
// - Chrome
// - ChromeCanary
// - Firefox
// - Opera
// - Safari (only Mac)
// - PhantomJS
// - IE (only Windows)
browsers: ['Chrome'], // remember that the browsers are run in parallel, I can't run two at once
// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun: false,
// Uncomment the following lines if you are using grunt's server to run the tests
proxies: {
'/service': 'http://localhost:8080/',
'/admin': 'http://localhost:8081/', // YOU NEED THIS PROXY!
'/': 'http://localhost:9000/'
},
// URL root prevent conflicts with the site root
urlRoot: '_karma_'
});
};
'use strict'
describe('Sample test', function() {
describe('The view', function() {
beforeEach(function() {
browser().navigateTo('/'); // you must call browser().navigateTo() in order for iframe to load jQuery
restartDB();
browser().navigateTo('/#/Target');
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment