From 39529bc8bc02bf5b08670d6716c7c3f987c1b439 Mon Sep 17 00:00:00 2001 From: Chris Blanchard 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 @@

- <%= namelink message.sender %> on <%= longdate message.created_at %> -

+ To: <%= namelink message.recipient %> From: <%= namelink message.sender %> on <%= longdate message.created_at %> +

\ 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