mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 07:37:25 +01:00
Moved intial filtering to a scope function and added test
This commit is contained in:
@@ -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() {
|
||||||
|
|||||||
@@ -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 ;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user