I would complain to the manager of the shop, and let them know that after the $30 is paid, it will be the last time she will ever visit the shop and will make sure her friends know of the reasons why she will not go.
It might be worth noting -
1. In order to do the E-test, they must remove the gas cap to pressure test it. Do they not charge $30 to re-install it? (no)
2. If they removed the cap and it failed - Did they re-install the old one? If they didn't then they should not charge you for installing the new one (They re-install the old one as part of the E-test - dont they? So what the heck is the difference if the install the old one, or the new one that the shop made a few bucks on?
I had a transmission shop install new front axles on a car I own, (I provided the new axles) and there was no charge since they had to remove both axles to take out the transmission.
If none of that works, tell them to remove the gas cap and you will buy one elsewhere.
Just because the gas cap failed the E-test, you don't have to buy it there.