Set up payment gateway stuff
Write our own Spy
Test Cart::pay with mocks
Use a Factory Method
Extract expectations to method