]> git.openstreetmap.org Git - rails.git/blobdiff - test/integration/user_diaries_test.rb
Merge remote-tracking branch 'upstream/pull/4857'
[rails.git] / test / integration / user_diaries_test.rb
index 2e7a01030ef2b1889994fcf8c788c7771d96e593..7188afd7a967dea14dacb646a99798e96aaeb45e 100644 (file)
@@ -1,50 +1,36 @@
-require File.dirname(__FILE__) + '/../test_helper'
-
-class UserDiariesTest < ActionController::IntegrationTest
-  fixtures :users, :diary_entries
+require "test_helper"
 
 
+class UserDiariesTest < ActionDispatch::IntegrationTest
+  # Test the creation of a diary entry, making sure that you are redirected to
+  # login page when not logged in
   def test_showing_create_diary_entry
   def test_showing_create_diary_entry
-    get_via_redirect '/user/test/diary/new'
+    user = create(:user)
+
+    get "/diary/new"
+    follow_redirect!
+    follow_redirect!
     # We should now be at the login page
     assert_response :success
     # We should now be at the login page
     assert_response :success
-    assert_template 'user/login'
+    assert_template "sessions/new"
     # We can now login
     # We can now login
-    post  '/login', {'user[email]' => "test@openstreetmap.org", 'user[password]' => "test", :referer => '/user/test/diary/new'}
+    post "/login", :params => { "username" => user.email, "password" => "test", :referer => "/diary/new" }
     assert_response :redirect
     assert_response :redirect
-    #print @response.body
-    # Check that there is some payload alerting the user to the redirect
-    # and allowing them to get to the page they are being directed to
-    assert_select "html:root" do
-      assert_select "body" do
-        assert_select "a[href='http://www.example.com/user/test/diary/new']"
-      end
-    end
-    # Required due to a bug in the rails testing framework
-    # http://markmail.org/message/wnslvi5xv5moqg7g
-    @html_document = nil
     follow_redirect!
     follow_redirect!
-    
     assert_response :success
     assert_response :success
-    assert_template 'diary_entry/edit'
-    #print @response.body
-    #print @html_document.to_yaml
+    assert_template "diary_entries/new"
 
 
-    # We will make sure that the form exists here, full 
+    # We will make sure that the form exists here, full
     # assert testing of the full form should be done in the
     # functional tests rather than this integration test
     # There are some things that are specific to the integratio
     # that need to be tested, which can't be tested in the functional tests
     # assert testing of the full form should be done in the
     # functional tests rather than this integration test
     # There are some things that are specific to the integratio
     # that need to be tested, which can't be tested in the functional tests
-    assert_select "html:root" do
-      assert_select "body" do
-        assert_select "div#content" do
-          assert_select "h1", "New diary entry" 
-          assert_select "form[action='/user/#{users(:normal_user).display_name}/diary/new']" do
-            assert_select "input[id=diary_entry_title]"
-          end
-        end
+    assert_select "div.content-heading", :count => 1 do
+      assert_select "h1", "New Diary Entry"
+    end
+    assert_select "div#content" do
+      assert_select "form[action='/diary']" do
+        assert_select "input[id=diary_entry_title]"
       end
     end
       end
     end
-    
-    
   end
 end
   end
 end