-require File.dirname(__FILE__) + '/../test_helper'
+require 'test_helper'
-class UserDiariesTest < ActionController::IntegrationTest
+class UserDiariesTest < ActionDispatch::IntegrationTest
fixtures :users, :diary_entries
+ # 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
- get_via_redirect '/user/test/diary/new'
+ get_via_redirect '/diary/new'
# We should now be at the login page
assert_response :success
assert_template 'user/login'
# We can now login
- post '/login', {'user[email]' => "test@openstreetmap.org", 'user[password]' => "test", :referer => '/user/test/diary/new'}
+ post '/login', {'username' => "test@openstreetmap.org", 'password' => "test", :referer => '/diary/new'}
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']"
+ assert_select "a[href='http://www.example.com/diary/new']"
end
end
# Required due to a bug in the rails testing framework
# 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/new']" do
+ assert_select "input[id=diary_entry_title]"
end
end
-
-
end
end