Prevented modal from showing when user tries to hatch a pet they own

This commit is contained in:
Keith Holliday
2015-11-23 10:20:39 -06:00
parent 7d49a8cbf8
commit b6e79f3ba8
2 changed files with 20 additions and 2 deletions

View File

@@ -79,6 +79,20 @@ describe('Inventory Controller', function() {
expect(rootScope.openModal).to.have.been.calledWith('hatchPet'); expect(rootScope.openModal).to.have.been.calledWith('hatchPet');
}); });
it('does not show modal if user tries to hatch a pet they own', function(){
scope.chooseEgg('Cactus');
scope.choosePotion('Base');
expect(user.items.eggs).to.eql({Cactus: 0});
expect(user.items.hatchingPotions).to.eql({Base: 0});
expect(user.items.pets).to.eql({'Cactus-Base': 5});
expect(scope.selectedEgg).to.eql(null);
expect(scope.selectedPotion).to.eql(null);
expect(rootScope.openModal).to.have.been.calledOnce;
scope.chooseEgg('Cactus');
scope.choosePotion('Base');
expect(rootScope.openModal).to.not.have.been.calledTwice;
});
it('does not show pet hatching modal if user has opted out', function(){ it('does not show pet hatching modal if user has opted out', function(){
user.preferences.suppressModals.hatchPet = true; user.preferences.suppressModals.hatchPet = true;
scope.chooseEgg('Cactus'); scope.chooseEgg('Cactus');

View File

@@ -114,8 +114,12 @@ habitrpg.controller("InventoryCtrl",
var eggName = Content.eggs[egg.key].text(); var eggName = Content.eggs[egg.key].text();
var potName = Content.hatchingPotions[potion.key].text(); var potName = Content.hatchingPotions[potion.key].text();
if (!$window.confirm(window.env.t('hatchAPot', {potion: potName, egg: eggName}))) return; if (!$window.confirm(window.env.t('hatchAPot', {potion: potName, egg: eggName}))) return;
var userHasPet = user.items.pets[egg.key + '-' + potion.key];
user.ops.hatch({params:{egg:egg.key, hatchingPotion:potion.key}}); user.ops.hatch({params:{egg:egg.key, hatchingPotion:potion.key}});
if (!user.preferences.suppressModals.hatchPet) {
if (!user.preferences.suppressModals.hatchPet && !userHasPet) {
$scope.hatchedPet = { $scope.hatchedPet = {
egg: eggName, egg: eggName,
potion: potName, potion: potName,