Skip to content

Commit 303963d

Browse files
committed
Add one test case for subscription controller
1 parent 87b8014 commit 303963d

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

spec/controllers/subscriptions_controller_spec.rb

+14-6
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
RSpec.describe SubscriptionsController, :type => :controller do
44

55
context "GET new" do
6-
6+
77
it "assigns a blank subscription to the view" do
88
get :new
99
expect(assigns(:subscription)).to be_a_new(Subscription)
@@ -12,7 +12,7 @@
1212
end
1313

1414
context "POST create" do
15-
15+
1616
it "redirects to pending subscriptions page" do
1717
params = { subscription: { email: "[email protected]", start_on: "2014-12-31" } }
1818
post :create, params
@@ -23,20 +23,28 @@
2323
it "calls Subscription.create_and_request_confirmation(params)" do
2424
2525
start_on = "2015-02-28"
26-
26+
2727
expect(Subscription).to receive(:create_and_request_confirmation)
2828
.with({ email: email, start_on: start_on })
2929

3030
post :create, { subscription: { email: email, start_on: start_on } }
3131
end
3232

33+
it "raises an error if missing params email" do
34+
params = { subscription: { start_on: "2015-09-28" } }
35+
36+
expect do
37+
post :create, params
38+
end.to raise_error ActiveRecord::RecordInvalid
39+
end
40+
3341
end
3442

3543
context "GET confirm" do
36-
44+
3745
it "confirms the subscription" do
38-
subscription = Subscription.create!(
39-
email: "[email protected]",
46+
subscription = create(:subscription,
47+
4048
confirmation_token: Subscription.generate_confirmation_token
4149
)
4250
expect(subscription.confirmed?).to eq(false)

0 commit comments

Comments
 (0)