Preheat oven to 350F degrees and line muffin pans with cupcake liners.
In medium bowl combine flour, cocoa powder and salt. Whisk until well combined.
In bowl of stand mixer combine sugar and vegetable oil and beat on medium until well combined.
Add eggs to sugar and oil mixture and beat well after each, scraping down sides of bowl.
Add the vanilla and green food coloring and mix well.
Add the flour mixture and buttermilk alternating and scraping sides of bowl as necessary.
Combine baking soda and vinegar in small bowl, it will foam. Pour into batter and mix for about 10 seconds.
Fill cupcake liners 2/3 full with batter.
Bake for 20-22 minutes or until toothpick inserted in center comes out clean.
Let cupcakes cool in pans for 5 minutes, then remove to wire racks to finish cooling.
Make the Rainbow Buttercream:
In bowl of stand mixer combine shortening and butter and beat on medium speed until creamy about 3 minutes.
Gradually add confectioners’ sugar 2 cups at a time and mix well, scraping sides of bowl as necessary.
Add heavy cream as necessary until you reach desired consistency.
Mix in the vanilla.
Separate icing into 6 different bowls and tint with rainbow colors. (use the following amounts of icing to make each colors: purple = 2 cups, blue = 1 1/2 cups, green = 1 cup, yellow = 3/4 cup, orange = 1/2 cup, red = 1/4 cup)
Place frosting in piping bags fitted with large round tip.
Starting with the purple pipe a circle of frosting on the bottom, then move to the blue, green, etc. until you have used all the colors to create a rainbow.
Place frosted cupcakes in freezer to harden for 15 minutes. This will ensure the frosting does not fall off the cupcakes when you dip them upside down in the chocolate.
Dip the Cupcakes in Chocolate:
Combine chocolate chips and vegetable oil in a heat proof bowl and place over top of a saucepan of simmering water.
Stir until the chocolate is melted and smooth and remove from heat.
Pour the chocolate into a tall glass that is wide enough to fit the cupcake, and allow to cool for 15 minutes.
When ready to dip remove cupcake from freezer and hold the cupcake at the bottom and dip straight down into the glass of chocolate and remove allowing any excess chocolate to drip off.