But that's just the point. If you test on the `Payment` object alone, you don't see the problem. It happens precisely because the order makes a transition to the `complete` state, runs `save` as the action on that transition, then processes the payment inside the `save` (which is a transaction).