summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStas Vilchik <vilchiks@gmail.com>2014-07-23 16:32:14 +0200
committerStas Vilchik <vilchiks@gmail.com>2014-07-23 16:32:23 +0200
commit7d89083b6d86dc07c3a0be778ee1e55f4ede9a8f (patch)
tree709316a9af5a324dec44de46c571dda3c40757b5
parentabd830499a9599554d4d79822b44149d40003f67 (diff)
downloadsonarqube-7d89083b6d86dc07c3a0be778ee1e55f4ede9a8f.tar.gz
sonarqube-7d89083b6d86dc07c3a0be778ee1e55f4ede9a8f.zip
Fix quality gates tests
-rw-r--r--server/sonar-web/src/main/js/tests/e2e/lib.js2
-rw-r--r--server/sonar-web/src/main/js/tests/e2e/tests/quality-gates-spec.js78
-rw-r--r--server/sonar-web/src/main/js/tests/e2e/views/quality-gates.jade7
3 files changed, 16 insertions, 71 deletions
diff --git a/server/sonar-web/src/main/js/tests/e2e/lib.js b/server/sonar-web/src/main/js/tests/e2e/lib.js
index 28f75d43c7c..ece72a64032 100644
--- a/server/sonar-web/src/main/js/tests/e2e/lib.js
+++ b/server/sonar-web/src/main/js/tests/e2e/lib.js
@@ -8,11 +8,13 @@ var BASE_URL = 'http://localhost:3000/pages/',
exports.initMessages = function () {
// Dump log messages
+ casper.removeAllListeners('remote.message');
casper.on('remote.message', function(message) {
this.echo('Log: '+ message, 'LOG');
});
// Dump uncaught errors
+ casper.removeAllListeners('page.error');
casper.on('page.error', function(msg) {
this.echo('Error: ' + msg, 'ERROR');
});
diff --git a/server/sonar-web/src/main/js/tests/e2e/tests/quality-gates-spec.js b/server/sonar-web/src/main/js/tests/e2e/tests/quality-gates-spec.js
index 146ecd577fe..f068858dd67 100644
--- a/server/sonar-web/src/main/js/tests/e2e/tests/quality-gates-spec.js
+++ b/server/sonar-web/src/main/js/tests/e2e/tests/quality-gates-spec.js
@@ -1,75 +1,17 @@
-// Dump log messages
-casper.on('remote.message', function(message) {
- this.echo('Log: '+ message, 'LOG');
-});
-
-// Dump uncaught errors
-casper.on('page.error', function(msg, trace) {
- this.echo('Error: ' + msg, 'ERROR');
-});
-
-var fs = require('fs');
-var utils = require('utils');
-
-// Since Casper has control, the invoked script is deep in the argument stack
-var currentFile = require('system').args[4];
-var curFilePath = fs.absolute(currentFile).split(fs.separator);
-if (curFilePath.length > 1) {
- curFilePath.pop(); // PhantomJS does not have an equivalent path.baseName()-like method
- curFilePath.push('quality-gates-spec');
- fs.changeWorkingDirectory(curFilePath.join(fs.separator));
-}
-
-casper.test.begin('App is setup correctly', function suite(test) {
-
- // Load MockJax responses from FS
- var appResponse = fs.read('app.json');
- var listResponse = fs.read('list.json');
- var showResponse = fs.read('show.json');
-
- // Register mockjax requests on loading of requirejs
- casper.options.onResourceRequested = function(instance, requestData, networkRequest) {
-
- // Here, instance is the running instance of casperjs
- if (requestData.url.indexOf('require') >= 0) {
- instance.page.includeJs('../js/third-party/jquery.mockjax.js', function injectReponses() {
- // Inject response values to page scope
- instance.page.evaluate(function setupMockJax(appResponse, listResponse, showResponse) {
- jQuery.mockjaxSettings.contentType = 'text/json';
- jQuery.mockjaxSettings.responseTime = 250;
-
- jQuery.mockjax({
- url: '../api/l10n/index',
- responseText: JSON.stringify({
- 'quality_gates.page': 'Quality Gates'
- })
- });
-
- jQuery.mockjax({
- url: '../api/qualitygates/app',
- responseText: appResponse
- });
-
-
- jQuery.mockjax({
- url: "../api/qualitygates/list",
- responseText: listResponse
- });
+var lib = require('../lib');
- jQuery.mockjax({
- url: "../api/qualitygates/show?id=1",
- responseText: showResponse
- });
+lib.initMessages();
+lib.changeWorkingDirectory('quality-gates-spec');
- }, appResponse, listResponse, showResponse);
- });
- }
- };
- // See API at http://docs.casperjs.org/en/latest/modules/index.html
+casper.test.begin('Quality Gates', function suite(test) {
+ casper.start(lib.buildUrl('quality-gates'), function() {
+ lib.setDefaultViewport();
- casper.start('http://localhost:3000/pages/quality-gates.html', function() {
- test.assertTitle('Quality Gates');
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/qualitygates/app', 'app.json');
+ lib.mockRequestFromFile('/api/qualitygates/list', 'list.json');
+ lib.mockRequestFromFile('/api/qualitygates/show?id=1', 'show.json');
});
casper.waitWhileSelector("div#quality-gates-loader", function() {
diff --git a/server/sonar-web/src/main/js/tests/e2e/views/quality-gates.jade b/server/sonar-web/src/main/js/tests/e2e/views/quality-gates.jade
index 58b27d60f0e..57ff78c66ec 100644
--- a/server/sonar-web/src/main/js/tests/e2e/views/quality-gates.jade
+++ b/server/sonar-web/src/main/js/tests/e2e/views/quality-gates.jade
@@ -1,8 +1,9 @@
-extends .layouts/main
+extends ./layouts/main
block header
script(data-main='/js/quality-gate/app', src='../js/require.js')
block body
- #quality-gate-page-loader.navigator-page-loader
- i.spinner
+ #content
+ #quality-gate-page-loader.navigator-page-loader
+ i.spinner