Mocks and stubs to the rescue! :)

In your spec, the format is this:

```
Object.should receive(:method).with(params)
```

So you might write

```
it "should send emails to people" do
  WormholeMailer.should receive(:event_update).with(event_id, recipient_id)

  get :event_update_email(event)

  # some other expectations here
end
```

The odd thing is that it comes **before** the action, since its "setup" but it will cause the test to fail if it doesn't happen.

There's a few options here, like:

```
Object.should receive(:method).with(params).and_returns(:some_value_or_object)
```

What happens here is that behind the scenes, rspec replaces WormholeMailer with a temporary object, so none of the functionality of ```event_update``` takes place - it just immediatley returns the value you specify. The is AWESOME for isolating the test to testing JUST the code in your method, instead of the entire chain of functionality that might be triggered (and for avoiding doing any particularly expensive, destructive, or risky work..)

If you want to use this on an instance method, you'd do something like
```
Object.any_instance.should receive(:method).with(params)
```