{"ScriptPreparationCode":"var bannerNames = [\r\n \u0022Anniversary\u0022,\r\n \u0022BeautyExclusives\u0022,\r\n \u0022Buy2Get1Free\u0022,\r\n \u0022BuyAndSave\u0022,\r\n \u0022EarlyAccess\u0022,\r\n \u0022EarlyAccessSneakPeek\u0022,\r\n \u0022GiftWithPurchase\u0022,\r\n \u0022GroomingExclusives\u0022,\r\n \u0022Holiday\u0022,\r\n \u0022Lts\u0022,\r\n \u0022PreOrder\u0022,\r\n \u0022PriceMatch\u0022,\r\n \u0022SpecialPurchase\u0022\r\n];\r\n\r\nvar bannerProps = {\r\n Anniversary: null,\r\n BeautyExclusives: null,\r\n Buy2Get1Free: [\u0022BuyXGetYCopy\u0022],\r\n BuyAndSave: [\r\n \u0022BuyAndSave\u0022,\r\n \u0022BuyAndSaveOffer\u0022\r\n ],\r\n EarlyAccess: null,\r\n EarlyAccessSneakPeek: null,\r\n GiftWithPurchase: [\u0022GiftWithPurchase\u0022],\r\n GroomingExclusives: null,\r\n Holiday: [\u0022Id\u0022, \u0022selectedSku\u0022],\r\n Lts: [\u0022LTSPromotion\u0022],\r\n PreOrder: null,\r\n SpecialPurchase: null\r\n};\r\n\r\nvar product = {\r\n BuyAndSave: \u0022BuyAndSave\u0022,\r\n BuyAndSaveOffer: \u0022BuyAndSaveOffer\u0022,\r\n BuyXGetYCopy: \u0022BuyXGetYCopy\u0022,\r\n GiftWithPurchase: \u0022GiftWithPurchase\u0022,\r\n Id: 5,\r\n LimitedTimeSavings: \u0022LimitedTimeSavings\u0022,\r\n LTSPromotion: {\r\n EndDate: \u0022EndDate\u0022,\r\n Name: \u0022Name\u0022\r\n },\r\n Price: {\r\n AllSkusOnSale: false\r\n },\r\n PriceMatching: \u0022PriceMatching\u0022,\r\n selectedSku: {\r\n isAvailable: true,\r\n IsAvailableFulfillmentCenter: true\r\n }\r\n};\r\n\r\nfunction testShallowSwitch() {\r\n bannerNames.forEach(function (name) {\r\n switch (name) {\r\n case \u0022Buy2Get1Free\u0022:\r\n return {\r\n BuyXGetYCopy: product.BuyXGetYCopy\r\n };\r\n case \u0022BuyAndSave\u0022:\r\n return {\r\n BuyAndSave: product.BuyAndSave,\r\n BuyAndSaveOffer: product.BuyAndSaveOffer,\r\n };\r\n case \u0022GiftWithPurchase\u0022:\r\n return {\r\n GiftWithPurchase: product.GiftWithPurchase\r\n };\r\n case \u0022Holiday\u0022:\r\n return {\r\n Id: product.Id,\r\n selectedSku: product.selectedSku\r\n };\r\n case \u0022Lts\u0022:\r\n return {\r\n LTSPromotion: product.LTSPromotion\r\n }\r\n default:\r\n break;\r\n }\r\n });\r\n}\r\n\r\n\r\nfunction testShallowPick() {\r\n bannerNames.forEach(function (name) {\r\n if (!bannerProps[name]) {\r\n return null;\r\n }\r\n\r\n var props = _.pick(product, bannerProps[name]);\r\n });\r\n}\r\n","TestCases":[{"Name":"testShallowSwitch","Code":"testShallowSwitch();","IsDeferred":false},{"Name":"testShallowPick","Code":"testShallowPick();","IsDeferred":false}]}