Moved intial filtering to a scope function and added test

This commit is contained in:
TheHollidayInn
2015-09-24 16:39:53 -05:00
parent 43c9683a8b
commit bfca612be2
2 changed files with 29 additions and 11 deletions

View File

@@ -148,6 +148,19 @@ describe('Challenges Controller', function() {
expect(scope.filterChallenges(notOwnMem)).to.eql(false); expect(scope.filterChallenges(notOwnMem)).to.eql(false);
expect(scope.filterChallenges(notOwnNotMem)).to.eql(true); expect(scope.filterChallenges(notOwnNotMem)).to.eql(true);
}); });
it('it filters challenges to a single group when group id filter is set', inject(function($controller) {
scope.search = { };
scope.groups = {
0: specHelper.newGroup({_id: 'group-one'}),
1: specHelper.newGroup({_id: 'group-two'}),
2: specHelper.newGroup({_id: 'group-three'})
};
scope.groupIdFilter = 'group-one';
scope.filterInitialChallenges();
expect(scope.search.group).to.eql({'group-one': true});
}));
}); });
describe('selectAll', function() { describe('selectAll', function() {

View File

@@ -327,6 +327,21 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User',
}); });
}; };
$scope.filterInitialChallenges = function() {
$scope.groupsFilter = _.uniq(_.pluck($scope.challenges, 'group'), function(g){return g._id});
$scope.search = {
group: _.transform($scope.groups, function(m,g){m[g._id]=true;}),
_isMember: "either",
_isOwner: "either"
};
//If we game from a group, then override the filter to that group
if ($scope.groupIdFilter) {
$scope.search.group = {};
$scope.search.group[$scope.groupIdFilter] = true ;
}
}
function _calculateMaxPrize(gid) { function _calculateMaxPrize(gid) {
var userBalance = User.getBalanceInGems() || 0; var userBalance = User.getBalanceInGems() || 0;
@@ -377,17 +392,7 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User',
} else { } else {
Challenges.Challenge.query(function(challenges){ Challenges.Challenge.query(function(challenges){
$scope.challenges = challenges; $scope.challenges = challenges;
$scope.groupsFilter = _.uniq(_.pluck(challenges, 'group'), function(g){return g._id}); $scope.filterInitialChallenges();
$scope.search = {
group: _.transform($scope.groups, function(m,g){m[g._id]=true;}),
_isMember: "either",
_isOwner: "either"
};
//If we game from a group, then override the filter to that group
if ($scope.groupIdFilter) {
$scope.search.group = {};
$scope.search.group[$scope.groupIdFilter] = true ;
}
}); });
} }
}; };