diff --git a/app/models/sms_gateway.rb b/app/models/sms_gateway.rb index 0034a4c8..6c81e456 100644 --- a/app/models/sms_gateway.rb +++ b/app/models/sms_gateway.rb @@ -2,6 +2,8 @@ class SMSGateway < ActionMailer::Base CONTEXT_NAME = 'Inbox' def receive(email) user = User.find(:first, :include => [:preference], :conditions => ["preferences.sms_email = ?", email.from[0].strip]) + logger.info "Receiving SMS task from #{email.from[0].strip} For user #{user.nil? nil : user.login}" + return if user.nil? context = user.prefs.sms_context description = nil diff --git a/test/unit/sms_gateway_test.rb b/test/unit/sms_gateway_test.rb index 24660dbb..1c3879c8 100644 --- a/test/unit/sms_gateway_test.rb +++ b/test/unit/sms_gateway_test.rb @@ -48,4 +48,12 @@ class SMSGatewayTest < Test::Rails::TestCase assert_equal(@user, message_todo.user) assert_equal("This is the message body", message_todo.notes) end + + def test_no_user + todo_count = Todo.count + badmessage = File.read(File.join(RAILS_ROOT, 'test', 'fixtures', 'sample_sms.txt')) + badmessage.gsub!("5555555555", "notauser") + SMSGateway.receive(badmessage) + assert_equal(todo_count, Todo.count) + end end