Merge remote-tracking branch 'upstream/pull/2512'
[rails.git] / test / integration / user_changeset_comments_test.rb
1 require "test_helper"
2
3 class UserChangesetCommentsTest < ActionDispatch::IntegrationTest
4   # Test 'log in to comment' message for nonlogged in user
5   def test_log_in_message
6     changeset = create(:changeset, :closed)
7
8     get "/changeset/#{changeset.id}"
9     assert_response :success
10
11     assert_select "div#content" do
12       assert_select "div#sidebar" do
13         assert_select "div#sidebar_content" do
14           assert_select "div.browse-section" do
15             assert_select "div.notice" do
16               assert_select "a[href='/login?referer=%2Fchangeset%2F#{changeset.id}']", :text => I18n.t("browse.changeset.join_discussion"), :count => 1
17             end
18           end
19         end
20       end
21     end
22   end
23
24   # Test if the form is shown
25   def test_displaying_form
26     user = create(:user)
27     changeset = create(:changeset, :closed)
28
29     get "/login"
30     follow_redirect!
31     # We should now be at the login page
32     assert_response :success
33     assert_template "users/login"
34     # We can now login
35     post "/login", :params => { "username" => user.email, "password" => "test" }
36     assert_response :redirect
37
38     get "/changeset/#{changeset.id}"
39
40     assert_response :success
41     assert_template "browse/changeset"
42
43     assert_select "div#content" do
44       assert_select "div#sidebar" do
45         assert_select "div#sidebar_content" do
46           assert_select "div.browse-section" do
47             assert_select "form[action='#']" do
48               assert_select "textarea[name=text]"
49             end
50           end
51         end
52       end
53     end
54   end
55 end