diff --git a/test/common/ops/buy/buyArmoire.js b/test/common/ops/buy/buyArmoire.js index b711bc3421..3c58585022 100644 --- a/test/common/ops/buy/buyArmoire.js +++ b/test/common/ops/buy/buyArmoire.js @@ -158,7 +158,7 @@ describe('shared.ops.buyArmoire', () => { expect(armoireCount).to.eql(_.size(getFullArmoire()) - 2); expect(user.stats.gp).to.eql(100); - expect(analytics.track).to.be.calledOnce; + expect(analytics.track).to.be.calledTwice; }); }); }); diff --git a/website/common/script/ops/buy/buyArmoire.js b/website/common/script/ops/buy/buyArmoire.js index 82c7868e3a..6416815841 100644 --- a/website/common/script/ops/buy/buyArmoire.js +++ b/website/common/script/ops/buy/buyArmoire.js @@ -68,6 +68,19 @@ export class BuyArmoireOperation extends AbstractGoldItemOperation { ]; } + _trackDropAnalytics (userId, key) { + this.analytics.track( + 'dropped item', + { + uuid: userId, + itemKey: key, + acquireMethod: 'Armoire', + category: 'behavior', + headers: this.req.headers, + }, + ); + } + _gearResult (user, eligibleEquipment) { eligibleEquipment.sort(); let drop = randomVal(eligibleEquipment); @@ -89,6 +102,10 @@ export class BuyArmoireOperation extends AbstractGoldItemOperation { removeItemByPath(user, `gear.flat.${drop.key}`); + if (this.analytics) { + this._trackDropAnalytics(user._id, drop.key); + } + let armoireResp = { type: 'gear', dropKey: drop.key, @@ -109,6 +126,10 @@ export class BuyArmoireOperation extends AbstractGoldItemOperation { user.items.food[drop.key] = user.items.food[drop.key] || 0; user.items.food[drop.key] += 1; + if (this.analytics) { + this._trackDropAnalytics(user._id, drop.key); + } + return { message: this.i18n('armoireFood', { image: ``,