diff --git a/test/common/ops/feed.js b/test/common/ops/feed.js index 111f1a33de..c19e22bde6 100644 --- a/test/common/ops/feed.js +++ b/test/common/ops/feed.js @@ -89,6 +89,18 @@ describe('shared.ops.feed', () => { } }); + it('does not allow feeding of wacky pets', done => { + user.items.pets['Wolf-Veggie'] = 5; + user.items.food.Meat = 1; + try { + feed(user, { params: { pet: 'Wolf-Veggie', food: 'Meat' } }); + } catch (err) { + expect(err).to.be.an.instanceof(NotAuthorized); + expect(err.message).to.equal(i18n.t('messageCannotFeedPet')); + done(); + } + }); + it('does not allow feeding of mounts', done => { user.items.pets['Wolf-Base'] = -1; user.items.mounts['Wolf-Base'] = true; diff --git a/website/common/script/ops/feed.js b/website/common/script/ops/feed.js index 663c909e7d..281dd91e42 100644 --- a/website/common/script/ops/feed.js +++ b/website/common/script/ops/feed.js @@ -61,7 +61,7 @@ export default function feed (user, req = {}, analytics) { throw new NotFound(i18n.t('messageFoodNotFound', req.language)); } - if (pet.type === 'special') { + if (pet.type === 'special' || pet.type === 'wacky') { throw new NotAuthorized(i18n.t('messageCannotFeedPet', req.language)); }