aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web
diff options
context:
space:
mode:
authorStas Vilchik <vilchiks@gmail.com>2015-07-06 17:14:22 +0200
committerStas Vilchik <vilchiks@gmail.com>2015-07-07 09:48:17 +0200
commit5c0d4c2ada0e63910cf6ca9b11a7a799a41a82b5 (patch)
treea4779cf7bdf880c37570f1c41766123831ae1d85 /server/sonar-web
parentc50d05a36f97689bcfd653d5e5e7201562011034 (diff)
downloadsonarqube-5c0d4c2ada0e63910cf6ca9b11a7a799a41a82b5.tar.gz
sonarqube-5c0d4c2ada0e63910cf6ca9b11a7a799a41a82b5.zip
transition computation web tests
Diffstat (limited to 'server/sonar-web')
-rw-r--r--server/sonar-web/src/main/js/apps/computation/app.js9
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/views/computation/index.html.erb13
-rw-r--r--server/sonar-web/test/helpers/test-page.js1
-rw-r--r--server/sonar-web/test/intern.js3
-rw-r--r--server/sonar-web/test/medium/computation.spec.js38
5 files changed, 49 insertions, 15 deletions
diff --git a/server/sonar-web/src/main/js/apps/computation/app.js b/server/sonar-web/src/main/js/apps/computation/app.js
index 47b483f3099..43e64d86b5d 100644
--- a/server/sonar-web/src/main/js/apps/computation/app.js
+++ b/server/sonar-web/src/main/js/apps/computation/app.js
@@ -42,7 +42,7 @@ define([
// Go!
Backbone.history.start({
pushState: true,
- root: getRoot()
+ root: options.urlRoot
});
};
@@ -52,13 +52,6 @@ define([
});
});
- function getRoot () {
- var COMPUTATION = '/computation',
- path = window.location.pathname,
- pos = path.indexOf(COMPUTATION);
- return path.substr(0, pos + COMPUTATION.length);
- }
-
return App;
});
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/computation/index.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/computation/index.html.erb
index f77eb797c80..1e7b45c9f6c 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/computation/index.html.erb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/computation/index.html.erb
@@ -1,6 +1,7 @@
-<div id="computation"></div>
-<script>
- require(['apps/computation/app'], function (App) {
- App.start({ el: '#computation' });
- });
-</script>
+<% content_for :extra_script do %>
+ <script>
+ require(['apps/computation/app'], function (App) {
+ App.start({ el: '#content', urlRoot: baseUrl + '/computation' });
+ });
+ </script>
+<% end %>
diff --git a/server/sonar-web/test/helpers/test-page.js b/server/sonar-web/test/helpers/test-page.js
index e38ad102907..b07a0b91a0b 100644
--- a/server/sonar-web/test/helpers/test-page.js
+++ b/server/sonar-web/test/helpers/test-page.js
@@ -157,6 +157,7 @@ define(function (require) {
return new this.constructor(this, function () {
return this.parent
.get(require.toUrl(url))
+ .mockFromString('/api/l10n/index', '{}')
.checkElementExist('#content');
});
};
diff --git a/server/sonar-web/test/intern.js b/server/sonar-web/test/intern.js
index 3463d7b1ee8..1de94e101e3 100644
--- a/server/sonar-web/test/intern.js
+++ b/server/sonar-web/test/intern.js
@@ -22,7 +22,8 @@ define(['intern'], function (intern) {
functionalSuites: [
'test/medium/users.spec',
'test/medium/issues.spec',
- 'test/medium/update-center.spec'
+ 'test/medium/update-center.spec',
+ 'test/medium/computation.spec'
],
tunnel: tunnel,
diff --git a/server/sonar-web/test/medium/computation.spec.js b/server/sonar-web/test/medium/computation.spec.js
new file mode 100644
index 00000000000..f6af86f4654
--- /dev/null
+++ b/server/sonar-web/test/medium/computation.spec.js
@@ -0,0 +1,38 @@
+define(function (require) {
+ var bdd = require('intern!bdd');
+ require('../helpers/test-page');
+
+ bdd.describe('Computation Page', function () {
+ bdd.it('should show list', function () {
+ return this.remote
+ .open()
+ .mockFromFile('/api/computation/queue', 'computation-spec/queue.json')
+ .mockFromFile('/api/computation/history', 'computation-spec/history.json')
+ .startApp('computation', { urlRoot: '/test/medium/base.html' })
+ .checkElementCount('#computation-list li[data-id]', 1)
+ .checkElementInclude('#computation-list', 'SonarQube')
+ .checkElementInclude('#computation-list-footer', '1')
+ .checkElementExist('.js-queue.selected')
+ .clickElement('.js-history')
+ .checkElementCount('#computation-list li[data-id]', 3)
+ .checkElementInclude('#computation-list', 'Duration')
+ .checkElementExist('.js-history.selected')
+ .checkElementExist('.panel-danger[data-id="3"]')
+ .clickElement('.js-queue')
+ .checkElementCount('#computation-list li[data-id]', 1);
+ });
+
+ bdd.it('should show more', function () {
+ return this.remote
+ .open('#past')
+ .mockFromFile('/api/computation/queue', 'computation-spec/queue.json')
+ .mockFromFile('/api/computation/history', 'computation-spec/history-big-1.json')
+ .startApp('computation', { urlRoot: '/test/medium/base.html' })
+ .checkElementCount('#computation-list li[data-id]', 2)
+ .clearMocks()
+ .mockFromFile('/api/computation/history', 'computation-spec/history-big-2.json', { data: { p: '2' } })
+ .clickElement('#computation-fetch-more')
+ .checkElementCount('#computation-list li[data-id]', 3);
+ });
+ });
+});