summaryrefslogtreecommitdiff
path: root/test/controllers/revisions_controller_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/controllers/revisions_controller_test.rb')
-rw-r--r--test/controllers/revisions_controller_test.rb62
1 files changed, 62 insertions, 0 deletions
diff --git a/test/controllers/revisions_controller_test.rb b/test/controllers/revisions_controller_test.rb
new file mode 100644
index 0000000..b4dcd8f
--- /dev/null
+++ b/test/controllers/revisions_controller_test.rb
@@ -0,0 +1,62 @@
1require 'test_helper'
2
3class RevisionsControllerTest < ActionController::TestCase
4
5 def setup
6 Node.root.descendants.destroy_all
7 @user = User.find_by_login("aaron")
8 @node = Node.root.children.create!( :slug => "version_me" )
9
10 draft = @node.draft
11 draft.body = "first"
12 @node.publish_draft!
13 @node.find_or_create_draft @user
14 draft = @node.draft
15 draft.update(:body => "second")
16 @node.publish_draft!
17 end
18
19 test "setup" do
20 assert_equal 2, Node.count
21 assert_equal 2, @node.pages.count
22 assert_equal ["first", "second"], @node.pages.map {|p| p.body}
23 end
24
25 test "get list of revisions for a given node" do
26 login_as :quentin
27 get :index, params: { :node_id => @node.id }
28 assert_response :success
29 assert_select ".revision", 2
30 end
31
32 test "showing one revision" do
33 login_as :quentin
34 get :show, params: { :node_id => @node.id, :id => @node.pages.last.id }
35 assert_response :success
36 assert_select "strong", "Body"
37 assert_select "td", {:count => 1, :text => "second"}
38 end
39
40 test "diffing two revisions" do
41 login_as :quentin
42 post(
43 :diff, params: {
44 :node_id => @node.id,
45 :start_revision => @node.pages.first.revision,
46 :end_revision => @node.pages.last.revision
47 }
48 )
49 assert_response :success
50 end
51
52 test "restoring a revision" do
53 assert_equal "second", @node.head.body
54
55 login_as :aaron
56 put( :restore, params: { :node_id => @node.id, :id => @node.pages.first.id } )
57
58 @node.reload
59 assert_equal @node.head, @node.pages.first
60 assert_equal "first", @node.head.reload.body
61 end
62end