Last active
August 29, 2015 14:04
-
-
Save Fire-Dragon-DoL/d788f713490599d8f7a0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bundle exec rspec spec/controllers/readers_controller_spec.rb | |
..FF** | |
Pending: | |
ReadersController POST create when save message returns to true redirects to root url | |
# Not yet implemented | |
# ./spec/controllers/readers_controller_spec.rb:45 | |
ReadersController POST create when save message returns to true assigns a success flash message | |
# Not yet implemented | |
# ./spec/controllers/readers_controller_spec.rb:46 | |
Failures: | |
1) ReadersController POST create sends new message to Reader class | |
Failure/Error: post :create, reader: params | |
NoMethodError: | |
undefined method `save' for #<RSpec::Mocks::AllowanceTarget:0xa77e1ec> | |
# ./app/controllers/readers_controller.rb:9:in `create' | |
# ./spec/controllers/readers_controller_spec.rb:37:in `block (3 levels) in <top (required)>' | |
2) ReadersController POST create sends save message to reader model | |
Failure/Error: post :create | |
ActionController::ParameterMissing: | |
param is missing or the value is empty: reader | |
# ./app/controllers/readers_controller.rb:16:in `reader_params' | |
# ./app/controllers/readers_controller.rb:8:in `create' | |
# ./spec/controllers/readers_controller_spec.rb:42:in `block (3 levels) in <top (required)>' | |
Finished in 0.12094 seconds (files took 3.36 seconds to load) | |
6 examples, 2 failures, 2 pending | |
Failed examples: | |
rspec ./spec/controllers/readers_controller_spec.rb:28 # ReadersController POST create sends new message to Reader class | |
rspec ./spec/controllers/readers_controller_spec.rb:39 # ReadersController POST create sends save message to reader model |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'rails_helper' | |
RSpec.describe ReadersController, :type => :controller do | |
describe "GET new" do | |
let(:reader) { instance_double("Reader", save: true) } | |
it "assigns @reader variable to the view" do | |
#reader = mock_model("Reader").as_new_record.as_null_object | |
#reader = double(Reader) | |
#Reader.stub(:new).and_return(reader) | |
allow(Reader).to receive(:new).and_return(reader) | |
#allow(Reader).to receive(:new) { reader } | |
get :new | |
expect(assigns[:reader]).to eq(reader) | |
end | |
it "renders new template" do | |
get :new | |
expect(response).to render_template :new | |
end | |
end | |
describe "POST create" do | |
let(:reader) {allow(Reader)} | |
it "sends new message to Reader class" do | |
params = { | |
"email" => "[email protected]", | |
"password" => "pass", | |
"password_confirmation" => "pass" | |
} | |
allow(Reader).to receive(:new).and_return(reader) | |
expect(Reader).to receive(:new).with(params) | |
#Reader.should_receive(:new).with(params) | |
post :create, reader: params | |
end | |
it "sends save message to reader model" do | |
allow(Reader).to receive(:new).and_return(reader) | |
expect(reader).to receive(:save) | |
post :create, reader: { add_yout_params } # XXX: you should pass params here!!! | |
end | |
context "when save message returns to true" do | |
it "redirects to root url" | |
it "assigns a success flash message" | |
end | |
end | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ReadersController < ApplicationController | |
def new | |
@reader = Reader.new | |
end | |
def create | |
@reader = Reader.new(reader_params) | |
@reader.save | |
render nothing: true | |
end | |
private | |
def reader_params | |
params.require(:reader).permit(:email, :password, :password_confirmation ) | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment