Inspired by Railscasts #124 “Beta Invitations”
(#124 Beta Invitations - RailsCasts) I created a small
invitation system. The episode doesn’t cover testing, so I’ve made some
tests for the Mailer responsible for sending the invitations. The test
looks like this:
def test_invitation
invitation = Invitation.create(:sender => users(:admin),
:recipient_email => “[email protected]”)
signup_url = “???”
mail = InvitationMailer.create_invitation(invitation, signup_url)
assert_equal “Invitation: Join Fountain CMS site”, mail.subject
assert_equal invitation.recipient_email, mail.to.first
assert_equal “[email protected]”, mail.from.first
expected_body = “You were invited to join Fountain CMS
site.\n#{signup_url}\n”
assert_equal expected_body, mail.body
invitation.destroy
end
The test passes but as you can see, the local variable “signup_url” is
set to “???”. That basically means that I don’t know how to access my
routes outside the controllers and views. How is that done?