Preheat oven to 350 degrees. Spray a mini bunt pan or cupcake pan with cooking spray that has flour in it or grease and flour the pans. Set aside.
Place cake mix, pudding mix, sour cream, oil, chocolate milk, vanilla and eggs in large mixing bowl. blend with an electric mixer on low speed for one minute. Stop the mixer and with a spatula scrape down the sides of bowl. Resume mixing with mixer on medium speed for 2-3 minutes or until batter is thick and well combined. Scrape the sides of the bowl if needed.
Pour batter in prepared pans (if using cupcake pans this will make 24 small cakes) filling each well 2/3rds full. (If making mini bundt cakes using 4 wells this will make 8-10 cakes and will have to bake multiple batches.)
Bake for 20-25 minutes for mini bundts and 12-15 for cupcakes. Cakes are done when cakes start to pull from sides of pan and springs back when lightly touched. Or when a knife or cake tester inserted in the middle of a cake comes out clean when removed.
Allow cakes to cool approx 10-15 minuets then remove from pans by inverting over a wire rack. Allow to cool completely before decorating.
Melt white and dark chocolate candy melts in piping bags. When candy is melted cut a small amount of the tip off the bag and drizzle melted candy over edges of cake. Allow candy to harden then place about a tablespoon of frosting in middle of cake and allow to harden for about an hour. While frosting is hardening make chocolate hearts. Allow chocolate hearts to harden then carefully place hearts in frosting. Make sure to push the hearts carefully. Do not push from the top of the heart grasp the heart at the bottom point and insert into frosting!