manage_documents_test.rb
1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
require "#{File.dirname(__FILE__)}/../test_helper"
class ManageDocumentsTest < ActionController::IntegrationTest
fixtures :users, :profiles, :comatose_pages, :domains, :virtual_communities
def test_creation_of_a_new_article
count = Article.count
login('ze', 'test')
get '/cms/ze'
assert_response :success
get '/cms/ze/new'
assert_response :success
assert_tag :tag => 'form', :attributes => { :action => '/cms/ze/new' }
post '/cms/ze/new', :page => { :title => 'my new article', :body => 'this is the text of my new article' , :parent_id => Article.find_by_path('ze').id }
assert_response :redirect
follow_redirect!
assert_response :success
assert_equal count + 1, Article.count
end
def test_update_of_an_existing_article
login('ze', 'test')
get '/cms/ze'
assert_response :success
id = Comatose::Page.find_by_path('ze').id
get "cms/ze/edit/#{id}"
assert_response :success
assert_tag :tag => 'form', :attributes => { :action => "/cms/ze/edit/#{id}" }
post "cms/ze/edit/#{id}", :page => { :body => 'changed_body' }
assert_response :redirect
end
def test_removing_an_article
article = Article.create!(:title => 'to be removed', :body => 'go to hell', :parent_id => Article.find_by_path('ze').id)
count = Article.count
get '/cms/ze'
assert_response :success
post "/cms/ze/delete/#{article.id}"
assert_response :redirect
assert_raise ActiveRecord::RecordNotFound do
Article.find(article.id)
end
end
# FIXME: add tests for page reordering
end