Commit f9c4fdeadd6503cc86d6de5cc1d4a80f31658e4e
1 parent
a6c9836d
Exists in
master
and in
29 other branches
ActionItem21: writing integration test
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1008 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
1 changed file
with
36 additions
and
4 deletions
Show diff stats
test/integration/manage_documents_test.rb
| @@ -28,13 +28,45 @@ class ManageDocumentsTest < ActionController::IntegrationTest | @@ -28,13 +28,45 @@ class ManageDocumentsTest < ActionController::IntegrationTest | ||
| 28 | end | 28 | end |
| 29 | 29 | ||
| 30 | def test_update_of_an_existing_article | 30 | def test_update_of_an_existing_article |
| 31 | - # FIXME | ||
| 32 | - fail 'need to be rewritten' | 31 | + profile = create_user('myuser').person |
| 32 | + article = profile.articles.build(:name => 'my-article') | ||
| 33 | + article.save! | ||
| 34 | + | ||
| 35 | + login('myuser', 'myuser') | ||
| 36 | + | ||
| 37 | + assert_tag :tag => 'a', :attributes => { :href => '/myprofile/myuser' } | ||
| 38 | + get '/myprofile/myuser' | ||
| 39 | + assert_response :success | ||
| 40 | + | ||
| 41 | + assert_tag :tag => 'a', :attributes => { :href => '/myprofile/myuser/cms' } | ||
| 42 | + get '/myprofile/myuser/cms' | ||
| 43 | + assert_response :success | ||
| 44 | + | ||
| 45 | + assert_tag :tag => 'a', :attributes => { :href => "/myprofile/myuser/cms/view/#{article.id}"} | ||
| 46 | + get "/myprofile/myuser/cms/view/#{article.id}" | ||
| 47 | + assert_response :success | ||
| 48 | + | ||
| 49 | + assert_tag :tag => 'a', :attributes => { :href => "/myprofile/myuser/cms/edit/#{article.id}"} | ||
| 50 | + get "/myprofile/myuser/cms/edit/#{article.id}" | ||
| 51 | + assert_response :success | ||
| 52 | + | ||
| 53 | + assert_tag :tag => 'form', :attributes => { :action => "/myprofile/myuser/cms/edit/#{article.id}", :method => /post/i } | ||
| 54 | + | ||
| 55 | + assert_no_difference Article, :count do | ||
| 56 | + post "/myprofile/myuser/cms/edit/#{article.id}", :article => { :name => 'my article', :body => 'this is the body of the article'} | ||
| 57 | + end | ||
| 58 | + | ||
| 59 | + article.reload | ||
| 60 | + assert_equal 'this is the body of the article', article.body | ||
| 61 | + | ||
| 62 | + assert_response :redirect | ||
| 63 | + follow_redirect! | ||
| 64 | + a = Article.find_by_path('my-article') | ||
| 65 | + assert_equal "/myprofile/myuser/cms/view/#{a.id}", path | ||
| 33 | end | 66 | end |
| 34 | 67 | ||
| 35 | def test_removing_an_article | 68 | def test_removing_an_article |
| 36 | - # FIXME | ||
| 37 | - fail 'need to be rewritten' | 69 | + flunk 'pending' |
| 38 | end | 70 | end |
| 39 | 71 | ||
| 40 | end | 72 | end |