Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

buncha new tests #545

Merged
merged 2 commits into from
Nov 11, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 38 additions & 1 deletion app/filters/filters.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ describe('filters', function() {

beforeEach(function() {
bard.appModule('topcoder');
bard.inject(this, 'CONSTANTS', 'roleFilter', 'percentageFilter', 'ordinalFilter', 'displayLocationFilter', 'listRolesFilter', 'trackFilter', 'challengeLinksFilter');
bard.inject(this, 'CONSTANTS', 'roleFilter', 'percentageFilter', 'ordinalFilter', 'displayLocationFilter', 'listRolesFilter', 'trackFilter', 'challengeLinksFilter', 'externalLinkColorFilter', 'emptyFilter', 'ternaryFilter');
domain = CONSTANTS.domain;
});

Expand Down Expand Up @@ -98,4 +98,41 @@ describe('filters', function() {
expect(challengeLinksFilter(_ch, 'registrants')).to.be.equal('https://community.'+domain+'/longcontest/?module=ViewStandings&rd=3');
});
});

describe('externalLinkColorFilter', function() {

it('should handle twitter and linkedin correctly', function() {
expect(externalLinkColorFilter('el-twitter')).to.be.equal('#62AADC');
expect(externalLinkColorFilter('el-linkedin')).to.be.equal('#127CB5');
});
});

describe('emptyFilter', function() {
it('should handle empty stuff correctly', function() {
var a = emptyFilter(0);
var b = emptyFilter(12);
var c = emptyFilter(false);
var d = emptyFilter(NaN);
var e = emptyFilter('NaN');
var f = emptyFilter('');
var g = emptyFilter('%');
expect(a).to.be.equal(0);
expect(b).to.be.equal(12);
expect(c).to.be.equal('-');
expect(d).to.be.equal('-');
expect(e).to.be.equal('-');
expect(f).to.be.equal('-');
expect(g).to.be.equal('-');
});
});

describe('ternaryFilter', function() {
it('should function logically', function() {
expect(ternaryFilter(true, 1, 2)).to.be.equal(1);
expect(ternaryFilter(false, 1, 2)).to.be.equal(2);
expect(ternaryFilter(0, 1, 2)).to.be.equal(2);
console.log(jstz.determine().name());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leftover console log :D

expect(ternaryFilter(true, 'm', 'n')).to.be.equal('m');
});
});
});
8 changes: 4 additions & 4 deletions app/filters/iif.filter.js → app/filters/ternary.filter.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
(function() {
'use strict';

angular.module('topcoder').filter('iif', iif);
angular.module('topcoder').filter('ternary', ternary);

/**
* This filter enable conditional statment for angular expression.
* usage: {{ expression | iif : value1 : value2}}
* usage: {{ expression | ternary : value1 : value2}}
*/
function iif() {
function ternary() {
return function (input, trueValue, falseValue) {
return input ? trueValue : falseValue;
};
};

})();
})();
2 changes: 1 addition & 1 deletion app/index.jade
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,6 @@ html
script(src="filters/deadline-msg.filter.js")
script(src="filters/empty.filter.js")
script(src="filters/external-link-color.filter.js")
script(src="filters/iif.filter.js")
script(src="filters/listRoles.filter.js")
script(src="filters/local-time.filter.js")
script(src="filters/location.filter.js")
Expand All @@ -225,6 +224,7 @@ html
script(src="filters/percentage.filter.js")
script(src="filters/rating-color.filter.js")
script(src="filters/role.filter.js")
script(src="filters/ternary.filter.js")
script(src="filters/time-diff.filter.js")
script(src="filters/track.filter.js")
script(src="filters/truncate.filter.js")
Expand Down
4 changes: 2 additions & 2 deletions app/profile/badges/badges.jade
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ aside.badges
.badgeGroups
.groupBadge(ng-repeat='ag in vm.achievementGroups', ng-class='ag.groupClass', ng-show='ag.specificAchievements[0].active')
span.subBadge.hpLogo(ng-if="ag.groupClass.substring(0 , 9) === 'HP-Badges'")
span.subBadge(ng-repeat='achievement in ag.specificAchievements', ng-class="(achievement.isStudio ? 'Studio-' : '') + achievement.specificClass + ' ' + ( achievement.active | iif : 'selected' : '' )", badge-tooltip, badge='achievement')
span.subBadge(ng-repeat='achievement in ag.specificAchievements', ng-class="(achievement.isStudio ? 'Studio-' : '') + achievement.specificClass + ' ' + ( achievement.active | ternary : 'selected' : '' )", badge-tooltip, badge='achievement')
.footer-badges
.singleBadge(ng-class=" achievement.groupClass + ' ' + (achievement.active | iif : 'selected' : '' ) ", ng-repeat='achievement in vm.singleAchievements', ng-show='achievement.active', badge-tooltip, badge='achievement')
.singleBadge(ng-class=" achievement.groupClass + ' ' + (achievement.active | ternary : 'selected' : '' ) ", ng-repeat='achievement in vm.singleAchievements', ng-show='achievement.active', badge-tooltip, badge='achievement')
2 changes: 1 addition & 1 deletion app/services/profile.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
getSubTracks: getSubTracks,
getDivisions: getDivisions,

getUserHandleColor: getUserHandleColor,
getUserHandleColor: getUserHandleColor

};
return service;
Expand Down
14 changes: 14 additions & 0 deletions app/services/profile.service.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,20 @@ describe('Profile Service', function() {
var subtracks = service.getSubTracks(mockStats, 'develop');
expect(subtracks.length).to.be.equal(11);
});

it('should return divisions', function() {
var divisions = service.getDivisions(mockStats);
var totalProblemsSuccessful = divisions.division1.total.problemsSuccessful;
var totalProblemsFailed = divisions.division1.total.problemsFailed;
expect(totalProblemsSuccessful).to.be.equal(2);
expect(totalProblemsFailed).to.be.equal(1);
});

it('should return user handle color', function() {
expect(service.getUserHandleColor(mockProfile.maxRating.rating)).to.be.equal('black');
});


});

});
1 change: 1 addition & 0 deletions app/settings/account-info/account-info.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
vm.saveAccountInfo = saveAccountInfo;
vm.updateCountry = updateCountry;
vm.submitNewPassword = submitNewPassword;
vm.getAddr = getAddr;

activate();

Expand Down
9 changes: 9 additions & 0 deletions app/settings/account-info/account-info.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,4 +94,13 @@ describe('Account Info Controller', function() {
expect(fakeStateGo).to.have.been.calledWith('settings.profile');
});
});

describe('get address', function() {
it('should return a correct address', function() {
vm.homeAddress = {};
expect(vm.getAddr().length).to.be.equal(0);
vm.homeAddress = {streetAddr1: 'a', city: 'b', zip: 21};
expect(vm.getAddr().length).to.be.equal(1);
});
});
});
42 changes: 22 additions & 20 deletions tests/test-helpers/mock-data.js
Original file line number Diff line number Diff line change
Expand Up @@ -1167,37 +1167,39 @@ var mockData = (function() {
function getMockProfile() {
return {
"updatedAt": null,
"createdAt": '2010-04-25T01:32:21.196+0600',
"createdAt": null,
"createdBy": null,
"updatedBy": null,
"userId": 10336829,
"firstName": "Albert",
"maxRating": {
"rating": 1616,
"track": "DEVELOP",
"subTrack": "DESIGN"
},
"lastName": "Wang",
"quote": "Competing since 2004, albertwang has achieved ratings in multiple data science, architecture, and devleopment challenge tracks. He is most skilled in component design and architecture",
"description": "Test description",
"description": null,
"otherLangName": "NIAL",
"handle": "albertwang",
"email": "[email protected]",
"addresses": [{
"updatedAt": null,
"createdAt": null,
"createdBy": null,
"updatedBy": null,
"addressId": 90263,
"streetAddr1": "123 Main Street",
"streetAddr2": "address_2",
"city": "Santa Clause",
"zip": "47579",
"stateCode": "IN",
"type": "HOME"
}],
"addresses": [
{
"streetAddr1": "123 Main Street",
"streetAddr2": "address_2",
"city": "Santa Clause",
"zip": "47579",
"stateCode": "IN",
"addressId": 90263,
"type": "Home"
}
],
"homeCountryCode": "USA",
"competitionCountryCode": "SXM",
"photo": {
"imageId": 20744540,
"photoUrl": "https://www.topcoder.com/i/m/albertwang.jpeg"
},
"competitionCountryCode": "CHN",
"photoURL": "https://topcoder-dev-media.s3.amazonaws.com/member/profile/albertwang-1440793843057.jpg",
"tracks": [
"DESIGN",
"DEVELOP",
"DATA_SCIENCE"
]
};
Expand Down