From 895367c063dc676c3d66257664e1b9cd79c86f48 Mon Sep 17 00:00:00 2001 From: Tom Ladendorf Date: Thu, 7 Jan 2016 11:51:11 -0600 Subject: [PATCH 1/5] updated reliability links --- app/index.jade | 2 + app/profile/subtrack/subtrack.controller.js | 44 ++++++++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/app/index.jade b/app/index.jade index 635966d81..36f78895c 100644 --- a/app/index.jade +++ b/app/index.jade @@ -154,6 +154,8 @@ html script(src='../bower_components/react/react.js') script(src='../bower_components/react/react-dom.js') script(src='../bower_components/classnames/index.js') + script(src='../bower_components/classnames/bind.js') + script(src='../bower_components/classnames/dedupe.js') script(src='../bower_components/react-input-autosize/dist/react-input-autosize.min.js') script(src='../bower_components/react-select/dist/react-select.min.js') script(src='../bower_components/ngReact/ngReact.js') diff --git a/app/profile/subtrack/subtrack.controller.js b/app/profile/subtrack/subtrack.controller.js index fdff9e22b..563f99fbc 100644 --- a/app/profile/subtrack/subtrack.controller.js +++ b/app/profile/subtrack/subtrack.controller.js @@ -24,6 +24,46 @@ vm.showNav = showNav; vm.back = back; vm.subTrackStats = []; + vm.reliabilityMapping = { + 'DESIGN': 1, + 'DEVELOPMENT': 1, + 'SECURITY': 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 + }; vm.pageName = vm.subTrack.toLowerCase().replace(/_/g, ' '); @@ -76,9 +116,11 @@ vm.subTrackStats = UserStatsService.getIterableStats(vm.track, vm.subTrack, data); if (vm.track === 'DEVELOP') { var reliability = vm.subTrackStats.filter(function(stat) { return stat.label === 'reliability'; }); + console.log('yo') + console.log(reliability) if (reliability.length > 0) { reliability = reliability[0]; - reliability.link = 'http://community.' + vm.domain + '/tc?module=ReliabilityDetail&pt=2&cr=' + profileVm.profile.userId; + reliability.link = 'http://community.' + vm.domain + '/tc?module=ReliabilityDetail&pt=' + (vm.reliabilityMapping[vm.subTrack] || 2) + '&cr=' + profileVm.profile.userId; } var mustHaveMetrics = ["rank", "rating", "reliability"]; // check if rating, rank & reliability are all set From 222fcb67190951d9672ad1152a8b893bf288c4c0 Mon Sep 17 00:00:00 2001 From: Tom Ladendorf Date: Thu, 7 Jan 2016 11:51:52 -0600 Subject: [PATCH 2/5] cleanup --- app/profile/subtrack/subtrack.controller.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/profile/subtrack/subtrack.controller.js b/app/profile/subtrack/subtrack.controller.js index 563f99fbc..1c0551156 100644 --- a/app/profile/subtrack/subtrack.controller.js +++ b/app/profile/subtrack/subtrack.controller.js @@ -116,8 +116,6 @@ vm.subTrackStats = UserStatsService.getIterableStats(vm.track, vm.subTrack, data); if (vm.track === 'DEVELOP') { var reliability = vm.subTrackStats.filter(function(stat) { return stat.label === 'reliability'; }); - console.log('yo') - console.log(reliability) if (reliability.length > 0) { reliability = reliability[0]; reliability.link = 'http://community.' + vm.domain + '/tc?module=ReliabilityDetail&pt=' + (vm.reliabilityMapping[vm.subTrack] || 2) + '&cr=' + profileVm.profile.userId; From b10d983b1376c2117f25206539ce14c2b076333b Mon Sep 17 00:00:00 2001 From: Tom Ladendorf Date: Thu, 7 Jan 2016 11:55:43 -0600 Subject: [PATCH 3/5] pushed logic to service --- app/profile/subtrack/subtrack.controller.js | 42 +----------------- app/services/userStats.service.js | 49 ++++++++++++++++++++- 2 files changed, 49 insertions(+), 42 deletions(-) diff --git a/app/profile/subtrack/subtrack.controller.js b/app/profile/subtrack/subtrack.controller.js index 1c0551156..7433df47d 100644 --- a/app/profile/subtrack/subtrack.controller.js +++ b/app/profile/subtrack/subtrack.controller.js @@ -24,46 +24,6 @@ vm.showNav = showNav; vm.back = back; vm.subTrackStats = []; - vm.reliabilityMapping = { - 'DESIGN': 1, - 'DEVELOPMENT': 1, - 'SECURITY': 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 - }; vm.pageName = vm.subTrack.toLowerCase().replace(/_/g, ' '); @@ -118,7 +78,7 @@ var reliability = vm.subTrackStats.filter(function(stat) { return stat.label === 'reliability'; }); if (reliability.length > 0) { reliability = reliability[0]; - reliability.link = 'http://community.' + vm.domain + '/tc?module=ReliabilityDetail&pt=' + (vm.reliabilityMapping[vm.subTrack] || 2) + '&cr=' + profileVm.profile.userId; + reliability.link = 'http://community.' + vm.domain + '/tc?module=ReliabilityDetail&pt=' + UserStatsService.mapReliability(vm.subTrack) + '&cr=' + profileVm.profile.userId; } var mustHaveMetrics = ["rank", "rating", "reliability"]; // check if rating, rank & reliability are all set diff --git a/app/services/userStats.service.js b/app/services/userStats.service.js index 6a736176a..a5753596d 100644 --- a/app/services/userStats.service.js +++ b/app/services/userStats.service.js @@ -16,7 +16,8 @@ processStats: processStats, compileSubtracks: compileSubtracks, filterStats: filterStats, - processStatRank: processStatRank + processStatRank: processStatRank, + mapReliability: mapReliability }; var percentageFunc = function(n) { return $filter('percentage')(n);}; @@ -160,6 +161,52 @@ return filtered; } + function mapReliability(subTrack) { + var reliabilityMapping = { + 'DESIGN': 1, + 'DEVELOPMENT': 1, + 'SECURITY': 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 + }; + + return reliabilityMapping[subTrack] || 2; + + } + } From 1a42bebfc180acedfb3bd32ce70a59bd241aba48 Mon Sep 17 00:00:00 2001 From: vikasrohit Date: Tue, 12 Jan 2016 15:14:52 +0530 Subject: [PATCH 4/5] SUP-2899, Reliability detail link from Profiles is wrong. -- Fixed error in parsing while running unit tests. It was due to multiple entries with same key in a map. --- app/services/userStats.service.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/services/userStats.service.js b/app/services/userStats.service.js index a5753596d..d40571c17 100644 --- a/app/services/userStats.service.js +++ b/app/services/userStats.service.js @@ -165,7 +165,6 @@ var reliabilityMapping = { 'DESIGN': 1, 'DEVELOPMENT': 1, - 'SECURITY': 1, 'TESTING_COMPETITION': 1, 'SPECIFICATION': 2, 'ARCHITECTURE': 2, @@ -204,10 +203,7 @@ }; return reliabilityMapping[subTrack] || 2; - } - - } })(); From 7e2d51a0c6d73fa7bb0bee3c310929625eae5d81 Mon Sep 17 00:00:00 2001 From: vikasrohit Date: Tue, 12 Jan 2016 15:35:37 +0530 Subject: [PATCH 5/5] SUP-2899, Reliability detail link from Profiles is wrong. -- Unit test for mapReliability function --- app/services/userStats.service.spec.js | 55 ++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/app/services/userStats.service.spec.js b/app/services/userStats.service.spec.js index f49424597..736452097 100644 --- a/app/services/userStats.service.spec.js +++ b/app/services/userStats.service.spec.js @@ -382,5 +382,60 @@ 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); + }); + // for any other subtrack it should return 2 + expect(UserStatsService.mapReliability('unkown')).to.equal(2); + + }); + }); });