From c6a4fcd5e03e8c0965f3e3046804b7e1a3103f62 Mon Sep 17 00:00:00 2001
From: vikasrohit <vikas.agarwal@appirio.com>
Date: Thu, 14 Jan 2016 14:58:02 +0530
Subject: [PATCH] SUP-2899, Reliability detail link from Profiles is wrong.

-- Updated mapping method to return project_category_id instead of project_type_id as per https://appirio.atlassian.net/browse/SUP-2899?focusedCommentId=22250&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-22250 and Security and Process subtracts are using
---
 app/services/userStats.service.js      | 72 ++++++++++-----------
 app/services/userStats.service.spec.js | 86 ++++++++++++--------------
 2 files changed, 74 insertions(+), 84 deletions(-)

diff --git a/app/services/userStats.service.js b/app/services/userStats.service.js
index d40571c17..297a6281a 100644
--- a/app/services/userStats.service.js
+++ b/app/services/userStats.service.js
@@ -164,42 +164,42 @@
     function mapReliability(subTrack) {
       var reliabilityMapping = {
         'DESIGN': 1,
-        'DEVELOPMENT': 1,
-        'TESTING_COMPETITION': 1,
-        'SPECIFICATION': 2,
-        'ARCHITECTURE': 2,
-        'COMPONENT_PRODUCTION': 2,
-        'BUG_HUNT': 2,
-        'DEPLOYMENT': 2,
-        'SECURITY': 2,
-        'PROCESS': 2,
-        'TEST_SUITES': 2,
-        'ASSEMBLY_COMPETITION': 2,
-        'LEGACY': 2,
-        'BANNERS_OR_ICONS': 3,
-        'WEB_DESIGN': 3,
-        'WIREFRAMES': 3,
-        'UI_PROTOTYPE_COMPETITION': 2,
-        'LOGO_DESIGN': 3,
-        'PRINT_OR_PRESENTATION': 3,
-        'CONCEPTUALIZATION': 2,
-        'RIA_BUILD_COMPETITION': 2,
-        'RIA_COMPONENT_COMPETITION': 2,
-        'TEST_SCENARIOS': 2,
-        'SPEC_REVIEW': 2,
-        'GENERIC_SCORECARDS': 4,
-        'COPILOT_POSTING': 2,
-        'CONTENT_CREATION': 2,
-        'WIDGET_OR_MOBILE_SCREEN_DESIGN': 3,
-        'FRONT_END_FLASH': 3,
-        'APPLICATION_FRONT_END_DESIGN': 3,
-        'STUDIO_OTHER': 3,
-        'IDEA_GENERATION': 3,
-        'REPORTING': 2,
-        'MARATHON_MATCH': 2,
-        'FIRST_2_FINISH': 2,
-        'CODE': 2,
-        'DESIGN_FIRST_2_FINISH': 3
+        'DEVELOPMENT': 2,
+        'TESTING_COMPETITION': 5,
+        'SPECIFICATION': 6,
+        'ARCHITECTURE': 7,
+        'COMPONENT_PRODUCTION': 8,
+        'BUG_HUNT': 9,
+        'DEPLOYMENT': 10,
+        'SECURITY': 11,
+        'PROCESS': 12,
+        'TEST_SUITES': 13,
+        'ASSEMBLY_COMPETITION': 14,
+        'LEGACY': 15,
+        'BANNERS_OR_ICONS': 16,
+        'WEB_DESIGN': 17,
+        'WIREFRAMES': 18,
+        'UI_PROTOTYPE_COMPETITION': 19,
+        'LOGO_DESIGN': 20,
+        'PRINT_OR_PRESENTATION': 21,
+        'CONCEPTUALIZATION': 23,
+        'RIA_BUILD_COMPETITION': 24,
+        'RIA_COMPONENT_COMPETITION': 25,
+        'TEST_SCENARIOS': 26,
+        'SPEC_REVIEW': 27,
+        'GENERIC_SCORECARDS': 28,
+        'COPILOT_POSTING': 29,
+        'CONTENT_CREATION': 35,
+        'WIDGET_OR_MOBILE_SCREEN_DESIGN': 30,
+        'FRONT_END_FLASH': 31,
+        'APPLICATION_FRONT_END_DESIGN': 32,
+        'STUDIO_OTHER': 34,
+        'IDEA_GENERATION': 22,
+        'REPORTING': 36,
+        'MARATHON_MATCH': 37,
+        'FIRST_2_FINISH': 38,
+        'CODE': 39,
+        'DESIGN_FIRST_2_FINISH': 40
       };
 
       return reliabilityMapping[subTrack] || 2;
diff --git a/app/services/userStats.service.spec.js b/app/services/userStats.service.spec.js
index 736452097..948a921e3 100644
--- a/app/services/userStats.service.spec.js
+++ b/app/services/userStats.service.spec.js
@@ -384,54 +384,44 @@ describe('User Stats Service', function() {
 
   describe('mapReliability ', function() {
     it('should map each subtrack to correct project type ', function() {
-      var pt1 = ['DESIGN', 'DEVELOPMENT', 'TESTING_COMPETITION'];
-      var pt2 = [
-        'SPECIFICATION',
-        'ARCHITECTURE',
-        'COMPONENT_PRODUCTION',
-        'BUG_HUNT', 'DEPLOYMENT',
-        'SECURITY', 'PROCESS',
-        'TEST_SUITES',
-        'ASSEMBLY_COMPETITION',
-        'LEGACY',
-        'UI_PROTOTYPE_COMPETITION',
-        'CONCEPTUALIZATION',
-        'RIA_BUILD_COMPETITION',
-        'RIA_COMPONENT_COMPETITION',
-        'TEST_SCENARIOS',
-        'SPEC_REVIEW',
-        'COPILOT_POSTING',
-        'CONTENT_CREATION',
-        'REPORTING',
-        'MARATHON_MATCH',
-        'FIRST_2_FINISH',
-        'CODE'
-      ];
-      var pt3 = [
-        'BANNERS_OR_ICONS',
-        'WEB_DESIGN',
-        'WIREFRAMES',
-        'LOGO_DESIGN',
-        'PRINT_OR_PRESENTATION',
-        'DESIGN_FIRST_2_FINISH',
-        'WIDGET_OR_MOBILE_SCREEN_DESIGN',
-        'FRONT_END_FLASH',
-        'APPLICATION_FRONT_END_DESIGN',
-        'STUDIO_OTHER',
-        'IDEA_GENERATION'];
-      var pt4 = ['GENERIC_SCORECARDS'];
-      pt1.forEach(function(subTrack) {
-        expect(UserStatsService.mapReliability(subTrack)).to.equal(1);
-      });
-      pt2.forEach(function(subTrack) {
-        expect(UserStatsService.mapReliability(subTrack)).to.equal(2);
-      });
-      pt3.forEach(function(subTrack) {
-        expect(UserStatsService.mapReliability(subTrack)).to.equal(3);
-      });
-      pt4.forEach(function(subTrack) {
-        expect(UserStatsService.mapReliability(subTrack)).to.equal(4);
-      });
+      expect(UserStatsService.mapReliability('DESIGN')).to.equal(1);
+      expect(UserStatsService.mapReliability('DEVELOPMENT')).to.equal(2);
+      expect(UserStatsService.mapReliability('TESTING_COMPETITION')).to.equal(5);
+      expect(UserStatsService.mapReliability('SPECIFICATION')).to.equal(6);
+      expect(UserStatsService.mapReliability('ARCHITECTURE')).to.equal(7);
+      expect(UserStatsService.mapReliability('COMPONENT_PRODUCTION')).to.equal(8);
+      expect(UserStatsService.mapReliability('BUG_HUNT')).to.equal(9);
+      expect(UserStatsService.mapReliability('DEPLOYMENT')).to.equal(10);
+      expect(UserStatsService.mapReliability('SECURITY')).to.equal(11);
+      expect(UserStatsService.mapReliability('PROCESS')).to.equal(12);
+      expect(UserStatsService.mapReliability('TEST_SUITES')).to.equal(13);
+      expect(UserStatsService.mapReliability('ASSEMBLY_COMPETITION')).to.equal(14);
+      expect(UserStatsService.mapReliability('LEGACY')).to.equal(15);
+      expect(UserStatsService.mapReliability('BANNERS_OR_ICONS')).to.equal(16);
+      expect(UserStatsService.mapReliability('WEB_DESIGN')).to.equal(17);
+      expect(UserStatsService.mapReliability('WIREFRAMES')).to.equal(18);
+      expect(UserStatsService.mapReliability('UI_PROTOTYPE_COMPETITION')).to.equal(19);
+      expect(UserStatsService.mapReliability('LOGO_DESIGN')).to.equal(20);
+      expect(UserStatsService.mapReliability('PRINT_OR_PRESENTATION')).to.equal(21);
+      expect(UserStatsService.mapReliability('IDEA_GENERATION')).to.equal(22);
+      expect(UserStatsService.mapReliability('CONCEPTUALIZATION')).to.equal(23);
+      expect(UserStatsService.mapReliability('RIA_BUILD_COMPETITION')).to.equal(24);
+      expect(UserStatsService.mapReliability('RIA_COMPONENT_COMPETITION')).to.equal(25);
+      expect(UserStatsService.mapReliability('TEST_SCENARIOS')).to.equal(26);
+      expect(UserStatsService.mapReliability('SPEC_REVIEW')).to.equal(27);
+      expect(UserStatsService.mapReliability('GENERIC_SCORECARDS')).to.equal(28);
+      expect(UserStatsService.mapReliability('COPILOT_POSTING')).to.equal(29);
+      expect(UserStatsService.mapReliability('WIDGET_OR_MOBILE_SCREEN_DESIGN')).to.equal(30);
+      expect(UserStatsService.mapReliability('FRONT_END_FLASH')).to.equal(31);
+      expect(UserStatsService.mapReliability('APPLICATION_FRONT_END_DESIGN')).to.equal(32);
+      expect(UserStatsService.mapReliability('STUDIO_OTHER')).to.equal(34);
+      expect(UserStatsService.mapReliability('CONTENT_CREATION')).to.equal(35);
+      expect(UserStatsService.mapReliability('REPORTING')).to.equal(36);
+      expect(UserStatsService.mapReliability('MARATHON_MATCH')).to.equal(37);
+      expect(UserStatsService.mapReliability('FIRST_2_FINISH')).to.equal(38);
+      expect(UserStatsService.mapReliability('CODE')).to.equal(39);
+      expect(UserStatsService.mapReliability('DESIGN_FIRST_2_FINISH')).to.equal(40);
+
       // for any other subtrack it should return 2
       expect(UserStatsService.mapReliability('unkown')).to.equal(2);