cleaned up controller specs with macros and shared examples