1)
I am curious if it could be the reset and test parts are bad but the outlet parts are good
That should never happen. The test/reset part are part of the protection circuitry. If they don't work, the GFCI is broken, and no longer can be counted on to provide the protection necessary. It needs to be replaced.
2)
when I plug in a vacuum cleaner works like it is suppose to.
If an appliance plugged in to the GFCI receptacle works, but a light powered by the GFCI doesn't, I suspect that there is a problem with the light as well. The same protection circuitry within the GFCI protects both the included receptacle and the LOAD wiring from the GFCI. Oh, by the way, that protection circuitry is broken. See #1 above.
(I 'm assuming that the vacuum, when plugged in and working like it's supposed to, doesn't respond to the test/reset buttons, right?)
#3
the reset but is stuck out and when I push on it nothing happens at all
Ummm, yeah. Broken. See #1 again.
Replacing a GFCI is not overly complicated. If you can change out a normal receptacle, you can replace a GFCI. Make sure the power is OFF. Label the wires before disconnecting them from the existing GFCI. A couple of pictures can be handy too. Replace the wires onto the same terminals of the new GFCI, incoming power on LINE terminals, any outgoing wires (if they are used in your setup) to the LOAD terminals. Reassemble. Power up. Enjoy.