From 5553d74334c6d20e840c13c59fb6ecb3c0e9a5f6 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sun, 13 Sep 2015 16:26:29 -0500 Subject: [PATCH] Create method to calculate whether or not user has attained all mystery equipment --- test/spec/controllers/inventoryCtrlSpec.js | 13 +++++++++++++ website/public/js/controllers/inventoryCtrl.js | 7 +++++++ website/views/options/inventory/time-travelers.jade | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/test/spec/controllers/inventoryCtrlSpec.js b/test/spec/controllers/inventoryCtrlSpec.js index f9afeb0449..acdcc86840 100644 --- a/test/spec/controllers/inventoryCtrlSpec.js +++ b/test/spec/controllers/inventoryCtrlSpec.js @@ -12,6 +12,7 @@ describe('Inventory Controller', function() { user = specHelper.newUser({ balance: 4, items: { + gear: { owned: {} }, eggs: { Cactus: 1 }, hatchingPotions: { Base: 1 }, food: { Meat: 1 }, @@ -155,4 +156,16 @@ describe('Inventory Controller', function() { expect(possibleValues).to.contain(cardsModalScope.cardMessage); }); }); + + describe('#hasAllTimeTravelerItems', function() { + it('returns false if there are items left in the time traveler store', function() { + expect(scope.hasAllTimeTravelerItems()).to.eql(false); + }); + + it('returns true if there are no items left to purchase', inject(function(Content) { + sandbox.stub(Content, 'timeTravelerStore').returns({}); + + expect(scope.hasAllTimeTravelerItems()).to.eql(true); + })); + }); }); diff --git a/website/public/js/controllers/inventoryCtrl.js b/website/public/js/controllers/inventoryCtrl.js index 4edad98680..e140a3798e 100644 --- a/website/public/js/controllers/inventoryCtrl.js +++ b/website/public/js/controllers/inventoryCtrl.js @@ -228,6 +228,13 @@ habitrpg.controller("InventoryCtrl", }); }; + $scope.hasAllTimeTravelerItems = function(items) { + var itemsLeftInTimeTravlerStore = Content.timeTravelerStore(user.items.gear.owned); + var keys = Object.keys(itemsLeftInTimeTravlerStore); + + return keys.length === 0; + }; + function _updateDropAnimalCount(items) { $scope.petCount = Shared.count.beastMasterProgress(items.pets); $scope.mountCount = Shared.count.mountMasterProgress(items.mounts); diff --git a/website/views/options/inventory/time-travelers.jade b/website/views/options/inventory/time-travelers.jade index c339e6bff1..b90c3e77f5 100644 --- a/website/views/options/inventory/time-travelers.jade +++ b/website/views/options/inventory/time-travelers.jade @@ -20,7 +20,7 @@ .row: .col-md-12 .row: .col-md-6 - .alert.alert-info(ng-if='_.isEmpty(Content.timeTravelerStore(user.items.gear.owned))')=env.t('timeTravelersAlreadyOwned') + .alert.alert-info(ng-if='hasAllTimeTravelerItems()')=env.t('timeTravelersAlreadyOwned') li.customize-menu.inventory-gear menu.pets-menu(label='{{::set.text}}', ng-repeat='set in Content.timeTravelerStore(user.items.gear.owned)')