]> git.openstreetmap.org Git - rails.git/blob - test/controllers/messages/inboxes_controller_test.rb
Merge remote-tracking branch 'upstream/pull/5457'
[rails.git] / test / controllers / messages / inboxes_controller_test.rb
1 require "test_helper"
2
3 module Messages
4   class InboxesControllerTest < ActionDispatch::IntegrationTest
5     ##
6     # test all routes which lead to this controller
7     def test_routes
8       assert_routing(
9         { :path => "/messages/inbox", :method => :get },
10         { :controller => "messages/inboxes", :action => "show" }
11       )
12     end
13
14     def test_show
15       user = create(:user)
16       read_message = create(:message, :read, :recipient => user)
17
18       session_for(user)
19
20       get messages_inbox_path
21       assert_response :success
22       assert_select ".content-inner > table.messages-table > tbody", :count => 1 do
23         assert_select "tr", :count => 1
24         assert_select "tr#inbox-#{read_message.id}", :count => 1 do
25           assert_select "a[href='#{user_path read_message.sender}']", :text => read_message.sender.display_name
26           assert_select "a[href='#{message_path read_message}']", :text => read_message.title
27         end
28       end
29     end
30
31     def test_show_requires_login
32       get messages_inbox_path
33       assert_redirected_to login_path(:referer => messages_inbox_path)
34     end
35   end
36 end