]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6138 limit default list of favorites to 6 items, add favorites to search results
authorStas Vilchik <vilchiks@gmail.com>
Fri, 24 Apr 2015 13:27:46 +0000 (15:27 +0200)
committerStas Vilchik <vilchiks@gmail.com>
Fri, 24 Apr 2015 13:28:42 +0000 (15:28 +0200)
server/sonar-web/src/main/js/nav/search-view.js
server/sonar-web/src/test/js/nav-spec.js
server/sonar-web/src/test/json/nav-spec/favorite.json

index 33ae41ee564f3be0bbefbe3437f8eb0fae1cedce..007a2ebf537d50e3b7180c8e292d22c0e1a7e792 100644 (file)
@@ -165,7 +165,7 @@ define([
               extra: index === 0 ? '' : null
             };
           });
-      this.results.reset([].concat(history, this.favorite, qualifiers));
+      this.results.reset([].concat(history, _.first(this.favorite, 6), qualifiers));
     },
 
     search: function (q) {
@@ -187,7 +187,12 @@ define([
             }));
           });
         });
-        that.results.reset([].concat(that.getNavigationFindings(q), that.getGlobalDashboardFindings(q), collection));
+        that.results.reset([].concat(
+            that.getNavigationFindings(q),
+            that.getGlobalDashboardFindings(q),
+            that.getFavoriteFindings(q),
+            collection
+        ));
       });
     },
 
@@ -211,7 +216,7 @@ define([
       if (findings.length > 0) {
         findings[0].extra = t('navigation');
       }
-      return findings;
+      return _.first(findings, 6);
     },
 
     getGlobalDashboardFindings: function (q) {
@@ -225,7 +230,17 @@ define([
       if (findings.length > 0) {
         findings[0].extra = t('dashboard.global_dashboards');
       }
-      return findings;
+      return _.first(findings, 6);
+    },
+
+    getFavoriteFindings: function (q) {
+      var findings = this.favorite.filter(function (f) {
+        return f.name.match(new RegExp(q, 'i'));
+      });
+      if (findings.length > 0) {
+        findings[0].extra = t('favorite');
+      }
+      return _.first(findings, 6);
     }
   });
 
index 82101ec34e222997bfb53fe32eaabb3ded5068f1..89f7552246f23571d17a9200f3c24d9f62e5c5db 100644 (file)
@@ -228,7 +228,7 @@ casper.test.begin(testName('Login'), 3, function (test) {
 });
 
 
-casper.test.begin(testName('Search'), 23, function (test) {
+casper.test.begin(testName('Search'), 24, function (test) {
   casper
       .start(lib.buildUrl('nav'), function () {
         lib.setDefaultViewport();
@@ -289,10 +289,11 @@ casper.test.begin(testName('Search'), 23, function (test) {
       })
 
       .then(function () {
-        test.assertElementCount('.js-search-results a', 6);
+        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*="quality-project"]');
         test.assertSelectorContains('.js-search-results a', 'SonarQube Java');
         test.assertSelectorContains('.js-search-results a', 'SonarQube Java :: Squid');
         test.assertSelectorContains('.js-search-results a', 'SonarQube Java :: Checks');
index 471a15610ae335ca1913cbdd28ce7fdaea93e260..da8f54ec6fc7627c338be4bcb10dea4cdc7f9639 100644 (file)
@@ -2,7 +2,7 @@
   {
     "key": "favorite-project-key",
     "name": "Favorite Project",
-    "lname": "SonarSource :: Rule API",
+    "lname": "Favorite Project",
     "qualifier": "TRK"
   },
   {
     "name": "FavoriteFile.java",
     "lname": "src/main/java/com/example/FavoriteFile.java",
     "qualifier": "FIL"
+  },
+  {
+    "key": "quality-project",
+    "name": "Quality Project",
+    "lname": "Quality Project",
+    "qualifier": "TRK"
   }
 ]