From c318c60b2a2f321c5ea33959fdb625111d2438b6 Mon Sep 17 00:00:00 2001
From: Chris Blanchard <chris@iddqd.org>
Date: Tue, 2 Jun 2015 18:50:41 +0100
Subject: [PATCH] Add recipient to messages

---
 app/views/messages/_message.html.erb    |  4 +-
 spec/features/messages/user_messages.rb | 59 +++++++++++++++++++++++++
 2 files changed, 61 insertions(+), 2 deletions(-)
 create mode 100644 spec/features/messages/user_messages.rb

diff --git a/app/views/messages/_message.html.erb b/app/views/messages/_message.html.erb
index 8422028..aed367f 100644
--- a/app/views/messages/_message.html.erb
+++ b/app/views/messages/_message.html.erb
@@ -5,5 +5,5 @@
 </p>
 
 <p>
-  <%= namelink message.sender %> on <em><%= longdate message.created_at %></em>
-</p>
+  To: <%= namelink message.recipient %> From: <%= namelink message.sender %> on <em><%= longdate message.created_at %></em></em>
+</p>
\ No newline at end of file
diff --git a/spec/features/messages/user_messages.rb b/spec/features/messages/user_messages.rb
new file mode 100644
index 0000000..7f43b7b
--- /dev/null
+++ b/spec/features/messages/user_messages.rb
@@ -0,0 +1,59 @@
+require 'spec_helper'
+
+feature 'Message creation' do
+  let!(:sender) { create :user }
+  let!(:recipient) { create :user }
+
+  background do
+    sign_in_as sender
+  end
+
+  scenario 'User creates a message' do
+    visit root_path
+    within '.links' do
+	    click_link 'Messages'
+    end
+    expect(page).to have_content('Sent (0)')
+    visit user_path(recipient)
+    expect(page).to have_content(recipient.username)
+    click_link 'Send PM'
+    expect(page).to have_content('New Message')
+    title = "This is my title"
+    message = "This is my message"
+    fill_in 'Title', with: title
+    fill_in 'Text', with: message
+    click_button 'Send Message'
+    expect(page).to have_content('Message was successfully sent.')
+    expect(page).to have_content(title)
+    expect(page).to have_content(message)
+    within '.links' do
+	    click_link 'Messages'
+    end
+    expect(page).to have_content('Sent (1)')
+    within '#sent' do
+	    expect(page).to have_content(title)
+	    expect(page).to have_content(message)
+	    expect(page).to have_content(sender.username)
+	    expect(page).to have_content(recipient.username)
+    end
+  end
+end
+
+feature 'Message receiving' do
+  let!(:message) { create :message }
+
+  background do
+    sign_in_as message.recipient
+  end
+
+  scenario 'User receives a message' do
+    visit root_path
+    within '.links' do
+    	expect(page).to have_content('(1)')
+	    click_link 'Messages'
+    end
+    expect(page).to have_content(message.title)
+    expect(page).to have_content(message.text)
+    expect(page).to have_content(message.sender.username)
+  end
+end
\ No newline at end of file