Generally with RSpec you mock one method call at a time:
allow(User).to receive(:new).and_return(true)
Sometimes you are dealing with code that involves a chain of method calls.
User
.new
.approve
.send_welcome_email
If it becomes unreasonable to mock out each individual method, you can instead mock out the chain of calls.
allow(User).to receive_message_chain('new.approve.send_welcome_email')
Alternatively, you can write this as:
allow(User).to receive_message_chain(:new, :approve, :send_welcome_email)