diff options
author | Stas Vilchik <vilchiks@gmail.com> | 2015-05-05 15:15:16 +0200 |
---|---|---|
committer | Stas Vilchik <vilchiks@gmail.com> | 2015-05-05 15:30:38 +0200 |
commit | cc181b8b100ffe35424217bfcb07f946938d32f0 (patch) | |
tree | dd436b931118ab449020690d1c1c86dab8498983 /server/sonar-web/src/test | |
parent | 20395938652f7439f9e5c0f1eb2687800658b42d (diff) | |
download | sonarqube-cc181b8b100ffe35424217bfcb07f946938d32f0.tar.gz sonarqube-cc181b8b100ffe35424217bfcb07f946938d32f0.zip |
apply new navigation WS
Diffstat (limited to 'server/sonar-web/src/test')
-rw-r--r-- | server/sonar-web/src/test/js/nav-spec.js | 80 | ||||
-rw-r--r-- | server/sonar-web/src/test/json/nav-spec/component.json | 37 | ||||
-rw-r--r-- | server/sonar-web/src/test/json/nav-spec/global.json | 39 |
3 files changed, 104 insertions, 52 deletions
diff --git a/server/sonar-web/src/test/js/nav-spec.js b/server/sonar-web/src/test/js/nav-spec.js index 89f7552246f..f5c21461e27 100644 --- a/server/sonar-web/src/test/js/nav-spec.js +++ b/server/sonar-web/src/test/js/nav-spec.js @@ -32,6 +32,8 @@ casper.test.begin(testName('Global Spaces'), 8, function (test) { casper .start(lib.buildUrl('nav'), function () { lib.setDefaultViewport(); + + lib.mockRequestFromFile('/api/navigation/global', 'global.json'); }) .then(function () { @@ -76,49 +78,44 @@ casper.test.begin(testName('Global Dashboards'), 12, function (test) { casper .start(lib.buildUrl('nav'), function () { lib.setDefaultViewport(); + + lib.mockRequestFromFile('/api/navigation/global', 'global.json'); }) .then(function () { casper.evaluate(function () { window.SS.isUserAdmin = false; window.navbarOptions = new Backbone.Model(); - window.navbarOptions.set({ - globalDashboards: [ - { url: '/dashboard/?did=1', name: 'First Global Dashboard' }, - { url: '/dashboard/?did=2', name: 'Second Global Dashboard' }, - { url: '/dashboard/?did=3', name: 'Third Global Dashboard' } - ] - }); require(['/js/nav/app.js']); }); }) .then(function () { - casper.waitForSelector('.navbar-global .nav'); + casper.waitForSelector('.navbar-global a[href*="/dashboard/index?did=1"]'); }) .then(function () { // check links existence - test.assertExists('.navbar-global a[href*="/dashboard/?did=1"]'); - test.assertSelectorContains('.navbar-global a[href*="/dashboard/?did=1"]', 'First Global Dashboard'); - test.assertExists('.navbar-global a[href*="/dashboard/?did=2"]'); - test.assertSelectorContains('.navbar-global a[href*="/dashboard/?did=2"]', 'Second Global Dashboard'); - test.assertExists('.navbar-global a[href*="/dashboard/?did=3"]'); - test.assertSelectorContains('.navbar-global a[href*="/dashboard/?did=3"]', 'Third Global Dashboard'); + test.assertExists('.navbar-global a[href*="/dashboard/index?did=1"]'); + test.assertSelectorContains('.navbar-global a[href*="/dashboard/index?did=1"]', 'First Global Dashboard'); + test.assertExists('.navbar-global a[href*="/dashboard/index?did=2"]'); + test.assertSelectorContains('.navbar-global a[href*="/dashboard/index?did=2"]', 'Second Global Dashboard'); + test.assertExists('.navbar-global a[href*="/dashboard/index?did=3"]'); + test.assertSelectorContains('.navbar-global a[href*="/dashboard/index?did=3"]', 'Third Global Dashboard'); }) .then(function () { // check that dashboards are not visible by default - test.assertNotVisible('.navbar-global a[href*="/dashboard/?did=1"]'); - test.assertNotVisible('.navbar-global a[href*="/dashboard/?did=2"]'); - test.assertNotVisible('.navbar-global a[href*="/dashboard/?did=3"]'); + test.assertNotVisible('.navbar-global a[href*="/dashboard/index?did=1"]'); + test.assertNotVisible('.navbar-global a[href*="/dashboard/index?did=2"]'); + test.assertNotVisible('.navbar-global a[href*="/dashboard/index?did=3"]'); // check dropdown casper.click('.navbar-global .t-dashboards [data-toggle="dropdown"]'); - test.assertVisible('.navbar-global a[href*="/dashboard/?did=1"]'); - test.assertVisible('.navbar-global a[href*="/dashboard/?did=2"]'); - test.assertVisible('.navbar-global a[href*="/dashboard/?did=3"]'); + test.assertVisible('.navbar-global a[href*="/dashboard/index?did=1"]'); + test.assertVisible('.navbar-global a[href*="/dashboard/index?did=2"]'); + test.assertVisible('.navbar-global a[href*="/dashboard/index?did=3"]'); }) .then(function () { @@ -135,26 +132,21 @@ casper.test.begin(testName('Global Plugin Pages'), 12, function (test) { casper .start(lib.buildUrl('nav'), function () { lib.setDefaultViewport(); + + lib.mockRequestFromFile('/api/navigation/global', 'global.json'); }) .then(function () { casper.evaluate(function () { window.SS.isUserAdmin = false; window.navbarOptions = new Backbone.Model(); - window.navbarOptions.set({ - globalPages: [ - { url: '/page/1', name: 'First Global Page' }, - { url: '/page/2', name: 'Second Global Page' }, - { url: '/page/3', name: 'Third Global Page' } - ] - }); require(['/js/nav/app.js']); }); }) .then(function () { - casper.waitForSelector('.navbar-global .nav'); + casper.waitForSelector('.navbar-global a[href*="/page/1"]'); }) .then(function () { @@ -233,6 +225,7 @@ casper.test.begin(testName('Search'), 24, function (test) { .start(lib.buildUrl('nav'), function () { lib.setDefaultViewport(); + lib.mockRequestFromFile('/api/navigation/global', 'global.json'); lib.mockRequestFromFile('/api/components/suggestions', 'search.json'); lib.mockRequestFromFile('/api/favourites', 'favorite.json'); }) @@ -242,8 +235,6 @@ casper.test.begin(testName('Search'), 24, function (test) { window.SS.user = 'user'; window.SS.isUserAdmin = false; window.navbarOptions = new Backbone.Model(); - window.navbarOptions.set({ qualifiers: ['TRK', 'VW', 'DEV'] }); - window.navbarOptions.set({ globalDashboards: [{ name: 'Quality', url: '/dashboard/?did=50' }] }); window.localStorage.setItem('sonar_recent_history', '[{"key":"localhistoryproject","name":"Local History Project","icon":"trk"}]'); @@ -252,7 +243,7 @@ casper.test.begin(testName('Search'), 24, function (test) { }) .then(function () { - casper.waitForSelector('.navbar-global .nav'); + casper.waitForSelector('.navbar-global a[href*="/page/1"]'); }) .then(function () { @@ -292,7 +283,7 @@ casper.test.begin(testName('Search'), 24, function (test) { test.assertElementCount('.js-search-results a', 7); test.assertExists('.js-search-results a[href*="/profiles"]'); test.assertExists('.js-search-results a[href*="/quality_gates"]'); - test.assertExists('.js-search-results a[href*="/dashboard/?did=50"]'); + test.assertExists('.js-search-results a[href*="/dashboard/index?did=50"]'); test.assertExists('.js-search-results a[href*="quality-project"]'); test.assertSelectorContains('.js-search-results a', 'SonarQube Java'); test.assertSelectorContains('.js-search-results a', 'SonarQube Java :: Squid'); @@ -331,38 +322,23 @@ casper.test.begin(testName('Context'), function (test) { casper .start(lib.buildUrl('nav'), function () { lib.setDefaultViewport(); + + lib.mockRequestFromFile('/api/navigation/component', 'component.json', + { data: { componentKey: 'org.codehaus.sonar-plugins.java:java' } }); }) .then(function () { casper.evaluate(function () { window.SS.isUserAdmin = false; window.navbarOptions = new Backbone.Model(); - window.navbarOptions.set({ - contextId: '1', - contextKey: 'org.codehaus.sonar-plugins.java:java', - contextUuid: 'acfc6a2d-d28c-4302-987c-697544fb096e', - contextComparable: true, - canFavoriteContext: false, - isContextFavorite: false, - contextVersion: '2.9-SNAPSHOT', - contextDate: '2015-03-03T09:43:37+01:00' - }); - window.navbarOptions.set({ - contextBreadcrumbs: [ - { - q: 'TRK', - url: '/dashboard/index?id=org.codehaus.sonar-plugins.java%3Ajava', - name: 'SonarQube Java' - } - ] - }); + window.navbarOptions.set({ space: 'component', componentKey: 'org.codehaus.sonar-plugins.java:java' }); require(['/js/nav/app.js']); }); }) .then(function () { - casper.waitForSelector('.navbar-context .nav'); + casper.waitForText('SonarQube Java'); }) .then(function () { diff --git a/server/sonar-web/src/test/json/nav-spec/component.json b/server/sonar-web/src/test/json/nav-spec/component.json new file mode 100644 index 00000000000..aaa0c919da2 --- /dev/null +++ b/server/sonar-web/src/test/json/nav-spec/component.json @@ -0,0 +1,37 @@ +{ + "key": "org.codehaus.sonar-plugins.java:java", + "uuid": "acfc6a2d-d28c-4302-987c-697544fb096e", + "name": "MAIF :: Cobol plugin", + "isComparable": true, + "canBeFavorite": false, + "isFavorite": false, + "dashboards": [ + { + "key": 1, + "name": "Main Dashboard" + } + ], + "version": "2.9-SNAPSHOT", + "snapshotDate": "2015-03-03T09:43:37+01:00", + "extensions": [], + "configuration": { + "showSettings": true, + "showQualityProfiles": true, + "showQualityGates": true, + "showManualMeasures": true, + "showActionPlans": true, + "showLinks": true, + "showPermissions": true, + "showHistory": true, + "showUpdateKey": true, + "showDeletion": true, + "extensions": [] + }, + "breadcrumbs": [ + { + "key": "/dashboard/index?id=org.codehaus.sonar-plugins.java%3Ajava", + "name": "SonarQube Java", + "qualifier": "TRK" + } + ] +} diff --git a/server/sonar-web/src/test/json/nav-spec/global.json b/server/sonar-web/src/test/json/nav-spec/global.json new file mode 100644 index 00000000000..709993d8f2a --- /dev/null +++ b/server/sonar-web/src/test/json/nav-spec/global.json @@ -0,0 +1,39 @@ +{ + "globalDashboards": [ + { + "key": 1, + "name": "First Global Dashboard" + }, + { + "key": 2, + "name": "Second Global Dashboard" + }, + { + "key": 3, + "name": "Third Global Dashboard" + }, + { + "key": 50, + "name": "Quality" + } + ], + "globalPages": [ + { + "url": "/page/1", + "name": "First Global Page" + }, + { + "url": "/page/2", + "name": "Second Global Page" + }, + { + "url": "/page/3", + "name": "Third Global Page" + } + ], + "qualifiers": [ + "TRK", + "VW", + "DEV" + ] +} |