Commit 621bfdb4aa6c5ef2b031f7c4fb7753eb80d7a5b5
1 parent
49d58492
Exists in
master
and in
4 other branches
wiki: rspec
Showing
8 changed files
with
40 additions
and
260 deletions
Show diff stats
db/schema.rb
... | ... | @@ -159,20 +159,6 @@ ActiveRecord::Schema.define(:version => 20120219193300) do |
159 | 159 | t.datetime "updated_at" |
160 | 160 | end |
161 | 161 | |
162 | - create_table "wiki_pages", :force => true do |t| | |
163 | - t.string "slug" | |
164 | - t.string "title" | |
165 | - t.text "content" | |
166 | - t.integer "author_id" | |
167 | - t.integer "project_id" | |
168 | - t.datetime "created_at" | |
169 | - t.datetime "updated_at" | |
170 | - end | |
171 | - | |
172 | - add_index "wiki_pages", ["author_id"], :name => "index_wiki_pages_on_author_id" | |
173 | - add_index "wiki_pages", ["project_id"], :name => "index_wiki_pages_on_project_id" | |
174 | - add_index "wiki_pages", ["slug"], :name => "index_wiki_pages_on_slug", :unique => true | |
175 | - | |
176 | 162 | create_table "wikis", :force => true do |t| |
177 | 163 | t.string "title" |
178 | 164 | t.text "content" | ... | ... |
spec/controllers/wikis_controller_spec.rb
... | ... | @@ -1,164 +0,0 @@ |
1 | -require 'spec_helper' | |
2 | - | |
3 | -# This spec was generated by rspec-rails when you ran the scaffold generator. | |
4 | -# It demonstrates how one might use RSpec to specify the controller code that | |
5 | -# was generated by Rails when you ran the scaffold generator. | |
6 | -# | |
7 | -# It assumes that the implementation code is generated by the rails scaffold | |
8 | -# generator. If you are using any extension libraries to generate different | |
9 | -# controller code, this generated spec may or may not pass. | |
10 | -# | |
11 | -# It only uses APIs available in rails and/or rspec-rails. There are a number | |
12 | -# of tools you can use to make these specs even more expressive, but we're | |
13 | -# sticking to rails and rspec-rails APIs to keep things simple and stable. | |
14 | -# | |
15 | -# Compared to earlier versions of this generator, there is very limited use of | |
16 | -# stubs and message expectations in this spec. Stubs are only used when there | |
17 | -# is no simpler way to get a handle on the object needed for the example. | |
18 | -# Message expectations are only used when there is no simpler way to specify | |
19 | -# that an instance is receiving a specific message. | |
20 | - | |
21 | -describe WikisController do | |
22 | - | |
23 | - # This should return the minimal set of attributes required to create a valid | |
24 | - # Wiki. As you add validations to Wiki, be sure to | |
25 | - # update the return value of this method accordingly. | |
26 | - def valid_attributes | |
27 | - {} | |
28 | - end | |
29 | - | |
30 | - # This should return the minimal set of values that should be in the session | |
31 | - # in order to pass any filters (e.g. authentication) defined in | |
32 | - # WikisController. Be sure to keep this updated too. | |
33 | - def valid_session | |
34 | - {} | |
35 | - end | |
36 | - | |
37 | - describe "GET index" do | |
38 | - it "assigns all wikis as @wikis" do | |
39 | - wiki = Wiki.create! valid_attributes | |
40 | - get :index, {}, valid_session | |
41 | - assigns(:wikis).should eq([wiki]) | |
42 | - end | |
43 | - end | |
44 | - | |
45 | - describe "GET show" do | |
46 | - it "assigns the requested wiki as @wiki" do | |
47 | - wiki = Wiki.create! valid_attributes | |
48 | - get :show, {:id => wiki.to_param}, valid_session | |
49 | - assigns(:wiki).should eq(wiki) | |
50 | - end | |
51 | - end | |
52 | - | |
53 | - describe "GET new" do | |
54 | - it "assigns a new wiki as @wiki" do | |
55 | - get :new, {}, valid_session | |
56 | - assigns(:wiki).should be_a_new(Wiki) | |
57 | - end | |
58 | - end | |
59 | - | |
60 | - describe "GET edit" do | |
61 | - it "assigns the requested wiki as @wiki" do | |
62 | - wiki = Wiki.create! valid_attributes | |
63 | - get :edit, {:id => wiki.to_param}, valid_session | |
64 | - assigns(:wiki).should eq(wiki) | |
65 | - end | |
66 | - end | |
67 | - | |
68 | - describe "POST create" do | |
69 | - describe "with valid params" do | |
70 | - it "creates a new Wiki" do | |
71 | - expect { | |
72 | - post :create, {:wiki => valid_attributes}, valid_session | |
73 | - }.to change(Wiki, :count).by(1) | |
74 | - end | |
75 | - | |
76 | - it "assigns a newly created wiki as @wiki" do | |
77 | - post :create, {:wiki => valid_attributes}, valid_session | |
78 | - assigns(:wiki).should be_a(Wiki) | |
79 | - assigns(:wiki).should be_persisted | |
80 | - end | |
81 | - | |
82 | - it "redirects to the created wiki" do | |
83 | - post :create, {:wiki => valid_attributes}, valid_session | |
84 | - response.should redirect_to(Wiki.last) | |
85 | - end | |
86 | - end | |
87 | - | |
88 | - describe "with invalid params" do | |
89 | - it "assigns a newly created but unsaved wiki as @wiki" do | |
90 | - # Trigger the behavior that occurs when invalid params are submitted | |
91 | - Wiki.any_instance.stub(:save).and_return(false) | |
92 | - post :create, {:wiki => {}}, valid_session | |
93 | - assigns(:wiki).should be_a_new(Wiki) | |
94 | - end | |
95 | - | |
96 | - it "re-renders the 'new' template" do | |
97 | - # Trigger the behavior that occurs when invalid params are submitted | |
98 | - Wiki.any_instance.stub(:save).and_return(false) | |
99 | - post :create, {:wiki => {}}, valid_session | |
100 | - response.should render_template("new") | |
101 | - end | |
102 | - end | |
103 | - end | |
104 | - | |
105 | - describe "PUT update" do | |
106 | - describe "with valid params" do | |
107 | - it "updates the requested wiki" do | |
108 | - wiki = Wiki.create! valid_attributes | |
109 | - # Assuming there are no other wikis in the database, this | |
110 | - # specifies that the Wiki created on the previous line | |
111 | - # receives the :update_attributes message with whatever params are | |
112 | - # submitted in the request. | |
113 | - Wiki.any_instance.should_receive(:update_attributes).with({'these' => 'params'}) | |
114 | - put :update, {:id => wiki.to_param, :wiki => {'these' => 'params'}}, valid_session | |
115 | - end | |
116 | - | |
117 | - it "assigns the requested wiki as @wiki" do | |
118 | - wiki = Wiki.create! valid_attributes | |
119 | - put :update, {:id => wiki.to_param, :wiki => valid_attributes}, valid_session | |
120 | - assigns(:wiki).should eq(wiki) | |
121 | - end | |
122 | - | |
123 | - it "redirects to the wiki" do | |
124 | - wiki = Wiki.create! valid_attributes | |
125 | - put :update, {:id => wiki.to_param, :wiki => valid_attributes}, valid_session | |
126 | - response.should redirect_to(wiki) | |
127 | - end | |
128 | - end | |
129 | - | |
130 | - describe "with invalid params" do | |
131 | - it "assigns the wiki as @wiki" do | |
132 | - wiki = Wiki.create! valid_attributes | |
133 | - # Trigger the behavior that occurs when invalid params are submitted | |
134 | - Wiki.any_instance.stub(:save).and_return(false) | |
135 | - put :update, {:id => wiki.to_param, :wiki => {}}, valid_session | |
136 | - assigns(:wiki).should eq(wiki) | |
137 | - end | |
138 | - | |
139 | - it "re-renders the 'edit' template" do | |
140 | - wiki = Wiki.create! valid_attributes | |
141 | - # Trigger the behavior that occurs when invalid params are submitted | |
142 | - Wiki.any_instance.stub(:save).and_return(false) | |
143 | - put :update, {:id => wiki.to_param, :wiki => {}}, valid_session | |
144 | - response.should render_template("edit") | |
145 | - end | |
146 | - end | |
147 | - end | |
148 | - | |
149 | - describe "DELETE destroy" do | |
150 | - it "destroys the requested wiki" do | |
151 | - wiki = Wiki.create! valid_attributes | |
152 | - expect { | |
153 | - delete :destroy, {:id => wiki.to_param}, valid_session | |
154 | - }.to change(Wiki, :count).by(-1) | |
155 | - end | |
156 | - | |
157 | - it "redirects to the wikis list" do | |
158 | - wiki = Wiki.create! valid_attributes | |
159 | - delete :destroy, {:id => wiki.to_param}, valid_session | |
160 | - response.should redirect_to(wikis_url) | |
161 | - end | |
162 | - end | |
163 | - | |
164 | -end |
spec/factories.rb
... | ... | @@ -0,0 +1,35 @@ |
1 | +require 'spec_helper' | |
2 | + | |
3 | +describe "Wiki" do | |
4 | + let(:project) { Factory :project } | |
5 | + | |
6 | + before do | |
7 | + login_as :user | |
8 | + project.add_access(@user, :read, :write) | |
9 | + end | |
10 | + | |
11 | + describe "Add pages" do | |
12 | + before do | |
13 | + visit project_wiki_path(project, :index) | |
14 | + end | |
15 | + | |
16 | + it "should see form" do | |
17 | + page.should have_content("Editing page") | |
18 | + end | |
19 | + | |
20 | + it "should see added page" do | |
21 | + fill_in "Title", :with => 'Test title' | |
22 | + fill_in "Content", :with => '[link test](test)' | |
23 | + click_on "Save" | |
24 | + | |
25 | + page.should have_content("Test title") | |
26 | + page.should have_content("link test") | |
27 | + | |
28 | + click_link "link test" | |
29 | + | |
30 | + page.should have_content("Editing page") | |
31 | + end | |
32 | + | |
33 | + end | |
34 | + | |
35 | +end | ... | ... |
spec/views/wikis/edit.html.haml_spec.rb
... | ... | @@ -1,20 +0,0 @@ |
1 | -require 'spec_helper' | |
2 | - | |
3 | -describe "wikis/edit" do | |
4 | - before(:each) do | |
5 | - @wiki = assign(:wiki, stub_model(Wiki, | |
6 | - :title => "MyString", | |
7 | - :content => "MyText" | |
8 | - )) | |
9 | - end | |
10 | - | |
11 | - it "renders the edit wiki form" do | |
12 | - render | |
13 | - | |
14 | - # Run the generator again with the --webrat flag if you want to use webrat matchers | |
15 | - assert_select "form", :action => wikis_path(@wiki), :method => "post" do | |
16 | - assert_select "input#wiki_title", :name => "wiki[title]" | |
17 | - assert_select "textarea#wiki_content", :name => "wiki[content]" | |
18 | - end | |
19 | - end | |
20 | -end |
spec/views/wikis/index.html.haml_spec.rb
... | ... | @@ -1,24 +0,0 @@ |
1 | -require 'spec_helper' | |
2 | - | |
3 | -describe "wikis/index" do | |
4 | - before(:each) do | |
5 | - assign(:wikis, [ | |
6 | - stub_model(Wiki, | |
7 | - :title => "Title", | |
8 | - :content => "MyText" | |
9 | - ), | |
10 | - stub_model(Wiki, | |
11 | - :title => "Title", | |
12 | - :content => "MyText" | |
13 | - ) | |
14 | - ]) | |
15 | - end | |
16 | - | |
17 | - it "renders a list of wikis" do | |
18 | - render | |
19 | - # Run the generator again with the --webrat flag if you want to use webrat matchers | |
20 | - assert_select "tr>td", :text => "Title".to_s, :count => 2 | |
21 | - # Run the generator again with the --webrat flag if you want to use webrat matchers | |
22 | - assert_select "tr>td", :text => "MyText".to_s, :count => 2 | |
23 | - end | |
24 | -end |
spec/views/wikis/new.html.haml_spec.rb
... | ... | @@ -1,20 +0,0 @@ |
1 | -require 'spec_helper' | |
2 | - | |
3 | -describe "wikis/new" do | |
4 | - before(:each) do | |
5 | - assign(:wiki, stub_model(Wiki, | |
6 | - :title => "MyString", | |
7 | - :content => "MyText" | |
8 | - ).as_new_record) | |
9 | - end | |
10 | - | |
11 | - it "renders new wiki form" do | |
12 | - render | |
13 | - | |
14 | - # Run the generator again with the --webrat flag if you want to use webrat matchers | |
15 | - assert_select "form", :action => wikis_path, :method => "post" do | |
16 | - assert_select "input#wiki_title", :name => "wiki[title]" | |
17 | - assert_select "textarea#wiki_content", :name => "wiki[content]" | |
18 | - end | |
19 | - end | |
20 | -end |
spec/views/wikis/show.html.haml_spec.rb
... | ... | @@ -1,18 +0,0 @@ |
1 | -require 'spec_helper' | |
2 | - | |
3 | -describe "wikis/show" do | |
4 | - before(:each) do | |
5 | - @wiki = assign(:wiki, stub_model(Wiki, | |
6 | - :title => "Title", | |
7 | - :content => "MyText" | |
8 | - )) | |
9 | - end | |
10 | - | |
11 | - it "renders attributes in <p>" do | |
12 | - render | |
13 | - # Run the generator again with the --webrat flag if you want to use webrat matchers | |
14 | - rendered.should match(/Title/) | |
15 | - # Run the generator again with the --webrat flag if you want to use webrat matchers | |
16 | - rendered.should match(/MyText/) | |
17 | - end | |
18 | -end |