]> git.openstreetmap.org Git - rails.git/blob - test/integration/user_diaries_test.rb
Fix routing of changeset feed
[rails.git] / test / integration / user_diaries_test.rb
1 require File.dirname(__FILE__) + '/../test_helper'
2
3 class UserDiariesTest < ActionDispatch::IntegrationTest
4   fixtures :users, :diary_entries
5
6   # Test the creation of a diary entry, making sure that you are redirected to 
7   # login page when not logged in
8   def test_showing_create_diary_entry
9     get_via_redirect '/diary/new'
10     # We should now be at the login page
11     assert_response :success
12     assert_template 'user/login'
13     # We can now login
14     post  '/login', {'username' => "test@openstreetmap.org", 'password' => "test", :referer => '/diary/new'}
15     assert_response :redirect
16     #print @response.body
17     # Check that there is some payload alerting the user to the redirect
18     # and allowing them to get to the page they are being directed to
19     assert_select "html:root" do
20       assert_select "body" do
21         assert_select "a[href='http://www.example.com/diary/new']"
22       end
23     end
24     # Required due to a bug in the rails testing framework
25     # http://markmail.org/message/wnslvi5xv5moqg7g
26     @html_document = nil
27     follow_redirect!
28     
29     assert_response :success
30     assert_template 'diary_entry/edit'
31     #print @response.body
32     #print @html_document.to_yaml
33
34     # We will make sure that the form exists here, full 
35     # assert testing of the full form should be done in the
36     # functional tests rather than this integration test
37     # There are some things that are specific to the integratio
38     # that need to be tested, which can't be tested in the functional tests
39     assert_select "html:root" do
40       assert_select "body" do
41         assert_select "div.wrapper", :count => 1 do
42           assert_select "div.content-heading", :count => 1 do
43             assert_select "h1", "New Diary Entry" 
44           end
45           assert_select "div#content" do
46             assert_select "form[action='/diary/new']" do
47               assert_select "input[id=diary_entry_title]"
48             end
49           end
50         end
51       end
52     end
53     
54     
55   end
56 end