OSDN Git Service

import all source code
[pettanr/pettanr.git] / spec / controllers / speachbaloons_controller_spec.rb
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 SpeachbaloonsController do
22
23   # This should return the minimal set of attributes required to create a valid
24   # Speachbaloon. As you add validations to Speachbaloon, be sure to
25   # update the return value of this method accordingly.
26   def valid_attributes
27     {}
28   end
29
30   describe "GET index" do
31     it "assigns all speachbaloons as @speachbaloons" do
32       speachbaloon = Speachbaloon.create! valid_attributes
33       get :index
34       assigns(:speachbaloons).should eq([speachbaloon])
35     end
36   end
37
38   describe "GET show" do
39     it "assigns the requested speachbaloon as @speachbaloon" do
40       speachbaloon = Speachbaloon.create! valid_attributes
41       get :show, :id => speachbaloon.id
42       assigns(:speachbaloon).should eq(speachbaloon)
43     end
44   end
45
46   describe "GET new" do
47     it "assigns a new speachbaloon as @speachbaloon" do
48       get :new
49       assigns(:speachbaloon).should be_a_new(Speachbaloon)
50     end
51   end
52
53   describe "GET edit" do
54     it "assigns the requested speachbaloon as @speachbaloon" do
55       speachbaloon = Speachbaloon.create! valid_attributes
56       get :edit, :id => speachbaloon.id
57       assigns(:speachbaloon).should eq(speachbaloon)
58     end
59   end
60
61   describe "POST create" do
62     describe "with valid params" do
63       it "creates a new Speachbaloon" do
64         expect {
65           post :create, :speachbaloon => valid_attributes
66         }.to change(Speachbaloon, :count).by(1)
67       end
68
69       it "assigns a newly created speachbaloon as @speachbaloon" do
70         post :create, :speachbaloon => valid_attributes
71         assigns(:speachbaloon).should be_a(Speachbaloon)
72         assigns(:speachbaloon).should be_persisted
73       end
74
75       it "redirects to the created speachbaloon" do
76         post :create, :speachbaloon => valid_attributes
77         response.should redirect_to(Speachbaloon.last)
78       end
79     end
80
81     describe "with invalid params" do
82       it "assigns a newly created but unsaved speachbaloon as @speachbaloon" do
83         # Trigger the behavior that occurs when invalid params are submitted
84         Speachbaloon.any_instance.stub(:save).and_return(false)
85         post :create, :speachbaloon => {}
86         assigns(:speachbaloon).should be_a_new(Speachbaloon)
87       end
88
89       it "re-renders the 'new' template" do
90         # Trigger the behavior that occurs when invalid params are submitted
91         Speachbaloon.any_instance.stub(:save).and_return(false)
92         post :create, :speachbaloon => {}
93         response.should render_template("new")
94       end
95     end
96   end
97
98   describe "PUT update" do
99     describe "with valid params" do
100       it "updates the requested speachbaloon" do
101         speachbaloon = Speachbaloon.create! valid_attributes
102         # Assuming there are no other speachbaloons in the database, this
103         # specifies that the Speachbaloon created on the previous line
104         # receives the :update_attributes message with whatever params are
105         # submitted in the request.
106         Speachbaloon.any_instance.should_receive(:update_attributes).with({'these' => 'params'})
107         put :update, :id => speachbaloon.id, :speachbaloon => {'these' => 'params'}
108       end
109
110       it "assigns the requested speachbaloon as @speachbaloon" do
111         speachbaloon = Speachbaloon.create! valid_attributes
112         put :update, :id => speachbaloon.id, :speachbaloon => valid_attributes
113         assigns(:speachbaloon).should eq(speachbaloon)
114       end
115
116       it "redirects to the speachbaloon" do
117         speachbaloon = Speachbaloon.create! valid_attributes
118         put :update, :id => speachbaloon.id, :speachbaloon => valid_attributes
119         response.should redirect_to(speachbaloon)
120       end
121     end
122
123     describe "with invalid params" do
124       it "assigns the speachbaloon as @speachbaloon" do
125         speachbaloon = Speachbaloon.create! valid_attributes
126         # Trigger the behavior that occurs when invalid params are submitted
127         Speachbaloon.any_instance.stub(:save).and_return(false)
128         put :update, :id => speachbaloon.id, :speachbaloon => {}
129         assigns(:speachbaloon).should eq(speachbaloon)
130       end
131
132       it "re-renders the 'edit' template" do
133         speachbaloon = Speachbaloon.create! valid_attributes
134         # Trigger the behavior that occurs when invalid params are submitted
135         Speachbaloon.any_instance.stub(:save).and_return(false)
136         put :update, :id => speachbaloon.id, :speachbaloon => {}
137         response.should render_template("edit")
138       end
139     end
140   end
141
142   describe "DELETE destroy" do
143     it "destroys the requested speachbaloon" do
144       speachbaloon = Speachbaloon.create! valid_attributes
145       expect {
146         delete :destroy, :id => speachbaloon.id
147       }.to change(Speachbaloon, :count).by(-1)
148     end
149
150     it "redirects to the speachbaloons list" do
151       speachbaloon = Speachbaloon.create! valid_attributes
152       delete :destroy, :id => speachbaloon.id
153       response.should redirect_to(speachbaloons_url)
154     end
155   end
156
157 end