You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
asciinema.org/spec/controllers/application_controller_spec.rb

117 lines
2.6 KiB
Ruby

require 'rails_helper'
class FakesController < ApplicationController
def foo
10 years ago
ensure_authenticated!
end
def bar
10 years ago
raise Pundit::NotAuthorizedError
end
def store
store_location
render :nothing => true
end
def retrieve
@location = get_stored_location
@location_again = get_stored_location || 'NOWAI!'
render :nothing => true
end
end
describe FakesController do
before do
@orig_routes, @routes = @routes, ActionDispatch::Routing::RouteSet.new
@routes.draw do
resource :fake do
get :foo
get :bar
get :store
get :retrieve
end
end
end
after do
@routes, @orig_routes = @orig_routes, nil
end
describe "action raise unauthorized" do
context "when xhr" do
Use new rspec syntax in all specs diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index a115b7d..09d150b 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -46,12 +46,12 @@ def retrieve describe "action raise unauthorized" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :foo - response.status.should == 401 + expect(response.status).to eq(401) end end @@ -59,11 +59,11 @@ def retrieve context "when typical request" do it "redirects to login_path" do - @controller.should_receive(:store_location) + expect(@controller).to receive(:store_location) get :foo - flash[:notice].should == "Please sign in to proceed" + expect(flash[:notice]).to eq("Please sign in to proceed") should redirect_to(login_path) end @@ -72,12 +72,12 @@ def retrieve context "when action raise forbidden" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :bar - response.status.should == 403 + expect(response.status).to eq(403) end end @@ -86,7 +86,7 @@ def retrieve it "redirects to root_path" do get :bar - flash[:alert].should == "This action is forbidden" + expect(flash[:alert]).to eq("This action is forbidden") should redirect_to(root_path) end @@ -97,8 +97,8 @@ def retrieve it 'stores current request path to be later retrieved' do get :store get :retrieve - assigns[:location].should == '/fake/store' - assigns[:location_again].should == 'NOWAI!' + expect(assigns[:location]).to eq('/fake/store') + expect(assigns[:location_again]).to eq('NOWAI!') end end @@ -106,7 +106,7 @@ def retrieve context 'when there is no stored location' do it 'redirects to given location' do path = double - @controller.should_receive(:redirect_to).with(path) + expect(@controller).to receive(:redirect_to).with(path) @controller.send(:redirect_back_or_to, path) end end @@ -115,8 +115,8 @@ def retrieve it 'redirects to stored location' do stored_path = double path = double - @controller.stub(:get_stored_location => stored_path) - @controller.should_receive(:redirect_to).with(stored_path) + allow(@controller).to receive(:get_stored_location).and_return(stored_path) + expect(@controller).to receive(:redirect_to).with(stored_path) @controller.send(:redirect_back_or_to, path) end end diff --git a/spec/controllers/asciicasts_controller_spec.rb b/spec/controllers/asciicasts_controller_spec.rb index 5741ec2..c37e69b 100644 --- a/spec/controllers/asciicasts_controller_spec.rb +++ b/spec/controllers/asciicasts_controller_spec.rb @@ -2,12 +2,12 @@ shared_examples_for 'guest user trying to modify' do it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end shared_examples_for 'non-owner user trying to modify' do it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /can't/ } + specify { expect(flash[:alert]).to match(/can't/) } end describe AsciicastsController do @@ -45,7 +45,7 @@ before do allow(controller).to receive(:view_counter) { view_counter } - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.title = 'some tit' end @@ -66,7 +66,7 @@ with(asciicast, cookies) end - specify { assigns(:asciicast).should == asciicast_decorator } + specify { expect(assigns(:asciicast)).to eq(asciicast_decorator) } end context 'for json request' do @@ -98,7 +98,7 @@ let(:make_request) { get :edit, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -133,7 +133,7 @@ let(:make_request) { put :update, :id => asciicast.id, :asciicast => { } } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -144,17 +144,17 @@ context 'when update succeeds' do before do - asciicast.should_receive(:update_attributes).and_return(true) + expect(asciicast).to receive(:update_attributes).and_return(true) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:notice].should =~ /was updated/ } + specify { expect(flash[:notice]).to match(/was updated/) } end context 'when update fails' do before do - asciicast.should_receive(:update_attributes).and_return(false) + expect(asciicast).to receive(:update_attributes).and_return(false) make_request end @@ -184,7 +184,7 @@ let(:make_request) { delete :destroy, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -195,22 +195,22 @@ context 'when destroy succeeds' do before do - asciicast.should_receive(:destroy).and_return(true) + expect(asciicast).to receive(:destroy).and_return(true) make_request end it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /was deleted/ } + specify { expect(flash[:notice]).to match(/was deleted/) } end context 'when destroy fails' do before do - asciicast.should_receive(:destroy).and_return(false) + expect(asciicast).to receive(:destroy).and_return(false) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /again/ } + specify { expect(flash[:alert]).to match(/again/) } end end diff --git a/spec/controllers/home_controller_spec.rb b/spec/controllers/home_controller_spec.rb index 6dcd6e7..e82d5ea 100644 --- a/spec/controllers/home_controller_spec.rb +++ b/spec/controllers/home_controller_spec.rb @@ -10,7 +10,7 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end @@ -21,14 +21,14 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end describe 'when there are no casts at all' do it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end end diff --git a/spec/controllers/user_tokens_controller_spec.rb b/spec/controllers/user_tokens_controller_spec.rb index 2a43c4a..6774f87 100644 --- a/spec/controllers/user_tokens_controller_spec.rb +++ b/spec/controllers/user_tokens_controller_spec.rb @@ -24,14 +24,14 @@ let(:user) { nil } it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end context "when # of claimed asciicasts is nil" do let(:claimed_num) { nil } it 'displays error page' do - response.should render_template(:error) + expect(response).to render_template(:error) end end @@ -39,14 +39,14 @@ let(:claimed_num) { 0 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Authenticated/ } + specify { expect(flash[:notice]).to match(/Authenticated/) } end context "when # of claimed asciicast is > 0" do let(:claimed_num) { 1 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Claimed #{claimed_num}/ } + specify { expect(flash[:notice]).to match(/Claimed #{claimed_num}/) } end end diff --git a/spec/decorators/asciicast_decorator_spec.rb b/spec/decorators/asciicast_decorator_spec.rb index 19e6af1..05264d7 100644 --- a/spec/decorators/asciicast_decorator_spec.rb +++ b/spec/decorators/asciicast_decorator_spec.rb @@ -230,7 +230,7 @@ } before do - asciicast.stub(:id => 123) + allow(asciicast).to receive(:id).and_return(123) end it 'should be an async script tag including asciicast id' do diff --git a/spec/features/playback_spec.rb b/spec/features/playback_spec.rb index ce4f912..0bbfd6c 100644 --- a/spec/features/playback_spec.rb +++ b/spec/features/playback_spec.rb @@ -26,7 +26,7 @@ def inject_on_finished_callback visit asciicast_path(asciicast, speed: 5) find(".play-button").find(".arrow").click inject_on_finished_callback - page.should have_selector('body .finished') + expect(page).to have_selector('body .finished') end end diff --git a/spec/models/comment_spec.rb b/spec/models/comment_spec.rb index e6e128f..11f56e0 100644 --- a/spec/models/comment_spec.rb +++ b/spec/models/comment_spec.rb @@ -3,7 +3,7 @@ describe Comment do it "factory should be valid" do - FactoryGirl.build(:comment).should be_valid + expect(FactoryGirl.build(:comment)).to be_valid end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index a6c845e..88ee9a8 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -96,8 +96,8 @@ it 'returns created UserToken' do ut = user.add_user_token(token) - ut.should be_kind_of(UserToken) - ut.id.should_not be(nil) + expect(ut).to be_kind_of(UserToken) + expect(ut.id).not_to be(nil) end end @@ -107,7 +107,7 @@ it 'returns existing UserToken' do ut = user.add_user_token(token) - ut.should == existing_token + expect(ut).to eq(existing_token) end end end diff --git a/spec/models/user_token_spec.rb b/spec/models/user_token_spec.rb index f1e76e6..a106311 100644 --- a/spec/models/user_token_spec.rb +++ b/spec/models/user_token_spec.rb @@ -2,6 +2,6 @@ describe UserToken do it "has valid factory" do - FactoryGirl.build(:user_token).should be_valid + expect(FactoryGirl.build(:user_token)).to be_valid end end diff --git a/spec/routing/connect_spec.rb b/spec/routing/connect_spec.rb index 351f928..91f713f 100644 --- a/spec/routing/connect_spec.rb +++ b/spec/routing/connect_spec.rb @@ -2,7 +2,7 @@ describe 'connect routing' do it 'routes /connect/:user_token to user_tokens#create for user_token' do - { :get => '/connect/jolka-misio' }.should route_to( + expect({ :get => '/connect/jolka-misio' }).to route_to( :controller => 'user_tokens', :action => 'create', :user_token => 'jolka-misio' diff --git a/spec/support/controller_macros.rb b/spec/support/controller_macros.rb index 6b26434..fa31720 100644 --- a/spec/support/controller_macros.rb +++ b/spec/support/controller_macros.rb @@ -1,7 +1,7 @@ module Asciinema module ControllerMacros def login_as(user) - controller.stub(:current_user => user) + allow(controller).to receive(:current_user).and_return(user) end end end
11 years ago
before { allow(request).to receive(:xhr?).and_return(true) }
10 years ago
it "responds with 401" do
get :foo
Use new rspec syntax in all specs diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index a115b7d..09d150b 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -46,12 +46,12 @@ def retrieve describe "action raise unauthorized" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :foo - response.status.should == 401 + expect(response.status).to eq(401) end end @@ -59,11 +59,11 @@ def retrieve context "when typical request" do it "redirects to login_path" do - @controller.should_receive(:store_location) + expect(@controller).to receive(:store_location) get :foo - flash[:notice].should == "Please sign in to proceed" + expect(flash[:notice]).to eq("Please sign in to proceed") should redirect_to(login_path) end @@ -72,12 +72,12 @@ def retrieve context "when action raise forbidden" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :bar - response.status.should == 403 + expect(response.status).to eq(403) end end @@ -86,7 +86,7 @@ def retrieve it "redirects to root_path" do get :bar - flash[:alert].should == "This action is forbidden" + expect(flash[:alert]).to eq("This action is forbidden") should redirect_to(root_path) end @@ -97,8 +97,8 @@ def retrieve it 'stores current request path to be later retrieved' do get :store get :retrieve - assigns[:location].should == '/fake/store' - assigns[:location_again].should == 'NOWAI!' + expect(assigns[:location]).to eq('/fake/store') + expect(assigns[:location_again]).to eq('NOWAI!') end end @@ -106,7 +106,7 @@ def retrieve context 'when there is no stored location' do it 'redirects to given location' do path = double - @controller.should_receive(:redirect_to).with(path) + expect(@controller).to receive(:redirect_to).with(path) @controller.send(:redirect_back_or_to, path) end end @@ -115,8 +115,8 @@ def retrieve it 'redirects to stored location' do stored_path = double path = double - @controller.stub(:get_stored_location => stored_path) - @controller.should_receive(:redirect_to).with(stored_path) + allow(@controller).to receive(:get_stored_location).and_return(stored_path) + expect(@controller).to receive(:redirect_to).with(stored_path) @controller.send(:redirect_back_or_to, path) end end diff --git a/spec/controllers/asciicasts_controller_spec.rb b/spec/controllers/asciicasts_controller_spec.rb index 5741ec2..c37e69b 100644 --- a/spec/controllers/asciicasts_controller_spec.rb +++ b/spec/controllers/asciicasts_controller_spec.rb @@ -2,12 +2,12 @@ shared_examples_for 'guest user trying to modify' do it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end shared_examples_for 'non-owner user trying to modify' do it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /can't/ } + specify { expect(flash[:alert]).to match(/can't/) } end describe AsciicastsController do @@ -45,7 +45,7 @@ before do allow(controller).to receive(:view_counter) { view_counter } - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.title = 'some tit' end @@ -66,7 +66,7 @@ with(asciicast, cookies) end - specify { assigns(:asciicast).should == asciicast_decorator } + specify { expect(assigns(:asciicast)).to eq(asciicast_decorator) } end context 'for json request' do @@ -98,7 +98,7 @@ let(:make_request) { get :edit, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -133,7 +133,7 @@ let(:make_request) { put :update, :id => asciicast.id, :asciicast => { } } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -144,17 +144,17 @@ context 'when update succeeds' do before do - asciicast.should_receive(:update_attributes).and_return(true) + expect(asciicast).to receive(:update_attributes).and_return(true) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:notice].should =~ /was updated/ } + specify { expect(flash[:notice]).to match(/was updated/) } end context 'when update fails' do before do - asciicast.should_receive(:update_attributes).and_return(false) + expect(asciicast).to receive(:update_attributes).and_return(false) make_request end @@ -184,7 +184,7 @@ let(:make_request) { delete :destroy, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -195,22 +195,22 @@ context 'when destroy succeeds' do before do - asciicast.should_receive(:destroy).and_return(true) + expect(asciicast).to receive(:destroy).and_return(true) make_request end it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /was deleted/ } + specify { expect(flash[:notice]).to match(/was deleted/) } end context 'when destroy fails' do before do - asciicast.should_receive(:destroy).and_return(false) + expect(asciicast).to receive(:destroy).and_return(false) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /again/ } + specify { expect(flash[:alert]).to match(/again/) } end end diff --git a/spec/controllers/home_controller_spec.rb b/spec/controllers/home_controller_spec.rb index 6dcd6e7..e82d5ea 100644 --- a/spec/controllers/home_controller_spec.rb +++ b/spec/controllers/home_controller_spec.rb @@ -10,7 +10,7 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end @@ -21,14 +21,14 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end describe 'when there are no casts at all' do it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end end diff --git a/spec/controllers/user_tokens_controller_spec.rb b/spec/controllers/user_tokens_controller_spec.rb index 2a43c4a..6774f87 100644 --- a/spec/controllers/user_tokens_controller_spec.rb +++ b/spec/controllers/user_tokens_controller_spec.rb @@ -24,14 +24,14 @@ let(:user) { nil } it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end context "when # of claimed asciicasts is nil" do let(:claimed_num) { nil } it 'displays error page' do - response.should render_template(:error) + expect(response).to render_template(:error) end end @@ -39,14 +39,14 @@ let(:claimed_num) { 0 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Authenticated/ } + specify { expect(flash[:notice]).to match(/Authenticated/) } end context "when # of claimed asciicast is > 0" do let(:claimed_num) { 1 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Claimed #{claimed_num}/ } + specify { expect(flash[:notice]).to match(/Claimed #{claimed_num}/) } end end diff --git a/spec/decorators/asciicast_decorator_spec.rb b/spec/decorators/asciicast_decorator_spec.rb index 19e6af1..05264d7 100644 --- a/spec/decorators/asciicast_decorator_spec.rb +++ b/spec/decorators/asciicast_decorator_spec.rb @@ -230,7 +230,7 @@ } before do - asciicast.stub(:id => 123) + allow(asciicast).to receive(:id).and_return(123) end it 'should be an async script tag including asciicast id' do diff --git a/spec/features/playback_spec.rb b/spec/features/playback_spec.rb index ce4f912..0bbfd6c 100644 --- a/spec/features/playback_spec.rb +++ b/spec/features/playback_spec.rb @@ -26,7 +26,7 @@ def inject_on_finished_callback visit asciicast_path(asciicast, speed: 5) find(".play-button").find(".arrow").click inject_on_finished_callback - page.should have_selector('body .finished') + expect(page).to have_selector('body .finished') end end diff --git a/spec/models/comment_spec.rb b/spec/models/comment_spec.rb index e6e128f..11f56e0 100644 --- a/spec/models/comment_spec.rb +++ b/spec/models/comment_spec.rb @@ -3,7 +3,7 @@ describe Comment do it "factory should be valid" do - FactoryGirl.build(:comment).should be_valid + expect(FactoryGirl.build(:comment)).to be_valid end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index a6c845e..88ee9a8 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -96,8 +96,8 @@ it 'returns created UserToken' do ut = user.add_user_token(token) - ut.should be_kind_of(UserToken) - ut.id.should_not be(nil) + expect(ut).to be_kind_of(UserToken) + expect(ut.id).not_to be(nil) end end @@ -107,7 +107,7 @@ it 'returns existing UserToken' do ut = user.add_user_token(token) - ut.should == existing_token + expect(ut).to eq(existing_token) end end end diff --git a/spec/models/user_token_spec.rb b/spec/models/user_token_spec.rb index f1e76e6..a106311 100644 --- a/spec/models/user_token_spec.rb +++ b/spec/models/user_token_spec.rb @@ -2,6 +2,6 @@ describe UserToken do it "has valid factory" do - FactoryGirl.build(:user_token).should be_valid + expect(FactoryGirl.build(:user_token)).to be_valid end end diff --git a/spec/routing/connect_spec.rb b/spec/routing/connect_spec.rb index 351f928..91f713f 100644 --- a/spec/routing/connect_spec.rb +++ b/spec/routing/connect_spec.rb @@ -2,7 +2,7 @@ describe 'connect routing' do it 'routes /connect/:user_token to user_tokens#create for user_token' do - { :get => '/connect/jolka-misio' }.should route_to( + expect({ :get => '/connect/jolka-misio' }).to route_to( :controller => 'user_tokens', :action => 'create', :user_token => 'jolka-misio' diff --git a/spec/support/controller_macros.rb b/spec/support/controller_macros.rb index 6b26434..fa31720 100644 --- a/spec/support/controller_macros.rb +++ b/spec/support/controller_macros.rb @@ -1,7 +1,7 @@ module Asciinema module ControllerMacros def login_as(user) - controller.stub(:current_user => user) + allow(controller).to receive(:current_user).and_return(user) end end end
11 years ago
expect(response.status).to eq(401)
end
end
10 years ago
context "when normal request" do
it "redirects to login page" do
Use new rspec syntax in all specs diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index a115b7d..09d150b 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -46,12 +46,12 @@ def retrieve describe "action raise unauthorized" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :foo - response.status.should == 401 + expect(response.status).to eq(401) end end @@ -59,11 +59,11 @@ def retrieve context "when typical request" do it "redirects to login_path" do - @controller.should_receive(:store_location) + expect(@controller).to receive(:store_location) get :foo - flash[:notice].should == "Please sign in to proceed" + expect(flash[:notice]).to eq("Please sign in to proceed") should redirect_to(login_path) end @@ -72,12 +72,12 @@ def retrieve context "when action raise forbidden" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :bar - response.status.should == 403 + expect(response.status).to eq(403) end end @@ -86,7 +86,7 @@ def retrieve it "redirects to root_path" do get :bar - flash[:alert].should == "This action is forbidden" + expect(flash[:alert]).to eq("This action is forbidden") should redirect_to(root_path) end @@ -97,8 +97,8 @@ def retrieve it 'stores current request path to be later retrieved' do get :store get :retrieve - assigns[:location].should == '/fake/store' - assigns[:location_again].should == 'NOWAI!' + expect(assigns[:location]).to eq('/fake/store') + expect(assigns[:location_again]).to eq('NOWAI!') end end @@ -106,7 +106,7 @@ def retrieve context 'when there is no stored location' do it 'redirects to given location' do path = double - @controller.should_receive(:redirect_to).with(path) + expect(@controller).to receive(:redirect_to).with(path) @controller.send(:redirect_back_or_to, path) end end @@ -115,8 +115,8 @@ def retrieve it 'redirects to stored location' do stored_path = double path = double - @controller.stub(:get_stored_location => stored_path) - @controller.should_receive(:redirect_to).with(stored_path) + allow(@controller).to receive(:get_stored_location).and_return(stored_path) + expect(@controller).to receive(:redirect_to).with(stored_path) @controller.send(:redirect_back_or_to, path) end end diff --git a/spec/controllers/asciicasts_controller_spec.rb b/spec/controllers/asciicasts_controller_spec.rb index 5741ec2..c37e69b 100644 --- a/spec/controllers/asciicasts_controller_spec.rb +++ b/spec/controllers/asciicasts_controller_spec.rb @@ -2,12 +2,12 @@ shared_examples_for 'guest user trying to modify' do it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end shared_examples_for 'non-owner user trying to modify' do it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /can't/ } + specify { expect(flash[:alert]).to match(/can't/) } end describe AsciicastsController do @@ -45,7 +45,7 @@ before do allow(controller).to receive(:view_counter) { view_counter } - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.title = 'some tit' end @@ -66,7 +66,7 @@ with(asciicast, cookies) end - specify { assigns(:asciicast).should == asciicast_decorator } + specify { expect(assigns(:asciicast)).to eq(asciicast_decorator) } end context 'for json request' do @@ -98,7 +98,7 @@ let(:make_request) { get :edit, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -133,7 +133,7 @@ let(:make_request) { put :update, :id => asciicast.id, :asciicast => { } } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -144,17 +144,17 @@ context 'when update succeeds' do before do - asciicast.should_receive(:update_attributes).and_return(true) + expect(asciicast).to receive(:update_attributes).and_return(true) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:notice].should =~ /was updated/ } + specify { expect(flash[:notice]).to match(/was updated/) } end context 'when update fails' do before do - asciicast.should_receive(:update_attributes).and_return(false) + expect(asciicast).to receive(:update_attributes).and_return(false) make_request end @@ -184,7 +184,7 @@ let(:make_request) { delete :destroy, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -195,22 +195,22 @@ context 'when destroy succeeds' do before do - asciicast.should_receive(:destroy).and_return(true) + expect(asciicast).to receive(:destroy).and_return(true) make_request end it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /was deleted/ } + specify { expect(flash[:notice]).to match(/was deleted/) } end context 'when destroy fails' do before do - asciicast.should_receive(:destroy).and_return(false) + expect(asciicast).to receive(:destroy).and_return(false) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /again/ } + specify { expect(flash[:alert]).to match(/again/) } end end diff --git a/spec/controllers/home_controller_spec.rb b/spec/controllers/home_controller_spec.rb index 6dcd6e7..e82d5ea 100644 --- a/spec/controllers/home_controller_spec.rb +++ b/spec/controllers/home_controller_spec.rb @@ -10,7 +10,7 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end @@ -21,14 +21,14 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end describe 'when there are no casts at all' do it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end end diff --git a/spec/controllers/user_tokens_controller_spec.rb b/spec/controllers/user_tokens_controller_spec.rb index 2a43c4a..6774f87 100644 --- a/spec/controllers/user_tokens_controller_spec.rb +++ b/spec/controllers/user_tokens_controller_spec.rb @@ -24,14 +24,14 @@ let(:user) { nil } it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end context "when # of claimed asciicasts is nil" do let(:claimed_num) { nil } it 'displays error page' do - response.should render_template(:error) + expect(response).to render_template(:error) end end @@ -39,14 +39,14 @@ let(:claimed_num) { 0 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Authenticated/ } + specify { expect(flash[:notice]).to match(/Authenticated/) } end context "when # of claimed asciicast is > 0" do let(:claimed_num) { 1 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Claimed #{claimed_num}/ } + specify { expect(flash[:notice]).to match(/Claimed #{claimed_num}/) } end end diff --git a/spec/decorators/asciicast_decorator_spec.rb b/spec/decorators/asciicast_decorator_spec.rb index 19e6af1..05264d7 100644 --- a/spec/decorators/asciicast_decorator_spec.rb +++ b/spec/decorators/asciicast_decorator_spec.rb @@ -230,7 +230,7 @@ } before do - asciicast.stub(:id => 123) + allow(asciicast).to receive(:id).and_return(123) end it 'should be an async script tag including asciicast id' do diff --git a/spec/features/playback_spec.rb b/spec/features/playback_spec.rb index ce4f912..0bbfd6c 100644 --- a/spec/features/playback_spec.rb +++ b/spec/features/playback_spec.rb @@ -26,7 +26,7 @@ def inject_on_finished_callback visit asciicast_path(asciicast, speed: 5) find(".play-button").find(".arrow").click inject_on_finished_callback - page.should have_selector('body .finished') + expect(page).to have_selector('body .finished') end end diff --git a/spec/models/comment_spec.rb b/spec/models/comment_spec.rb index e6e128f..11f56e0 100644 --- a/spec/models/comment_spec.rb +++ b/spec/models/comment_spec.rb @@ -3,7 +3,7 @@ describe Comment do it "factory should be valid" do - FactoryGirl.build(:comment).should be_valid + expect(FactoryGirl.build(:comment)).to be_valid end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index a6c845e..88ee9a8 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -96,8 +96,8 @@ it 'returns created UserToken' do ut = user.add_user_token(token) - ut.should be_kind_of(UserToken) - ut.id.should_not be(nil) + expect(ut).to be_kind_of(UserToken) + expect(ut.id).not_to be(nil) end end @@ -107,7 +107,7 @@ it 'returns existing UserToken' do ut = user.add_user_token(token) - ut.should == existing_token + expect(ut).to eq(existing_token) end end end diff --git a/spec/models/user_token_spec.rb b/spec/models/user_token_spec.rb index f1e76e6..a106311 100644 --- a/spec/models/user_token_spec.rb +++ b/spec/models/user_token_spec.rb @@ -2,6 +2,6 @@ describe UserToken do it "has valid factory" do - FactoryGirl.build(:user_token).should be_valid + expect(FactoryGirl.build(:user_token)).to be_valid end end diff --git a/spec/routing/connect_spec.rb b/spec/routing/connect_spec.rb index 351f928..91f713f 100644 --- a/spec/routing/connect_spec.rb +++ b/spec/routing/connect_spec.rb @@ -2,7 +2,7 @@ describe 'connect routing' do it 'routes /connect/:user_token to user_tokens#create for user_token' do - { :get => '/connect/jolka-misio' }.should route_to( + expect({ :get => '/connect/jolka-misio' }).to route_to( :controller => 'user_tokens', :action => 'create', :user_token => 'jolka-misio' diff --git a/spec/support/controller_macros.rb b/spec/support/controller_macros.rb index 6b26434..fa31720 100644 --- a/spec/support/controller_macros.rb +++ b/spec/support/controller_macros.rb @@ -1,7 +1,7 @@ module Asciinema module ControllerMacros def login_as(user) - controller.stub(:current_user => user) + allow(controller).to receive(:current_user).and_return(user) end end end
11 years ago
expect(@controller).to receive(:store_location)
get :foo
expect(flash[:notice]).to eq("Please log in to proceed")
should redirect_to(new_login_path)
end
end
end
10 years ago
context "when action raises Pundit::NotAuthorizedError" do
context "when xhr" do
Use new rspec syntax in all specs diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index a115b7d..09d150b 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -46,12 +46,12 @@ def retrieve describe "action raise unauthorized" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :foo - response.status.should == 401 + expect(response.status).to eq(401) end end @@ -59,11 +59,11 @@ def retrieve context "when typical request" do it "redirects to login_path" do - @controller.should_receive(:store_location) + expect(@controller).to receive(:store_location) get :foo - flash[:notice].should == "Please sign in to proceed" + expect(flash[:notice]).to eq("Please sign in to proceed") should redirect_to(login_path) end @@ -72,12 +72,12 @@ def retrieve context "when action raise forbidden" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :bar - response.status.should == 403 + expect(response.status).to eq(403) end end @@ -86,7 +86,7 @@ def retrieve it "redirects to root_path" do get :bar - flash[:alert].should == "This action is forbidden" + expect(flash[:alert]).to eq("This action is forbidden") should redirect_to(root_path) end @@ -97,8 +97,8 @@ def retrieve it 'stores current request path to be later retrieved' do get :store get :retrieve - assigns[:location].should == '/fake/store' - assigns[:location_again].should == 'NOWAI!' + expect(assigns[:location]).to eq('/fake/store') + expect(assigns[:location_again]).to eq('NOWAI!') end end @@ -106,7 +106,7 @@ def retrieve context 'when there is no stored location' do it 'redirects to given location' do path = double - @controller.should_receive(:redirect_to).with(path) + expect(@controller).to receive(:redirect_to).with(path) @controller.send(:redirect_back_or_to, path) end end @@ -115,8 +115,8 @@ def retrieve it 'redirects to stored location' do stored_path = double path = double - @controller.stub(:get_stored_location => stored_path) - @controller.should_receive(:redirect_to).with(stored_path) + allow(@controller).to receive(:get_stored_location).and_return(stored_path) + expect(@controller).to receive(:redirect_to).with(stored_path) @controller.send(:redirect_back_or_to, path) end end diff --git a/spec/controllers/asciicasts_controller_spec.rb b/spec/controllers/asciicasts_controller_spec.rb index 5741ec2..c37e69b 100644 --- a/spec/controllers/asciicasts_controller_spec.rb +++ b/spec/controllers/asciicasts_controller_spec.rb @@ -2,12 +2,12 @@ shared_examples_for 'guest user trying to modify' do it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end shared_examples_for 'non-owner user trying to modify' do it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /can't/ } + specify { expect(flash[:alert]).to match(/can't/) } end describe AsciicastsController do @@ -45,7 +45,7 @@ before do allow(controller).to receive(:view_counter) { view_counter } - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.title = 'some tit' end @@ -66,7 +66,7 @@ with(asciicast, cookies) end - specify { assigns(:asciicast).should == asciicast_decorator } + specify { expect(assigns(:asciicast)).to eq(asciicast_decorator) } end context 'for json request' do @@ -98,7 +98,7 @@ let(:make_request) { get :edit, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -133,7 +133,7 @@ let(:make_request) { put :update, :id => asciicast.id, :asciicast => { } } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -144,17 +144,17 @@ context 'when update succeeds' do before do - asciicast.should_receive(:update_attributes).and_return(true) + expect(asciicast).to receive(:update_attributes).and_return(true) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:notice].should =~ /was updated/ } + specify { expect(flash[:notice]).to match(/was updated/) } end context 'when update fails' do before do - asciicast.should_receive(:update_attributes).and_return(false) + expect(asciicast).to receive(:update_attributes).and_return(false) make_request end @@ -184,7 +184,7 @@ let(:make_request) { delete :destroy, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -195,22 +195,22 @@ context 'when destroy succeeds' do before do - asciicast.should_receive(:destroy).and_return(true) + expect(asciicast).to receive(:destroy).and_return(true) make_request end it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /was deleted/ } + specify { expect(flash[:notice]).to match(/was deleted/) } end context 'when destroy fails' do before do - asciicast.should_receive(:destroy).and_return(false) + expect(asciicast).to receive(:destroy).and_return(false) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /again/ } + specify { expect(flash[:alert]).to match(/again/) } end end diff --git a/spec/controllers/home_controller_spec.rb b/spec/controllers/home_controller_spec.rb index 6dcd6e7..e82d5ea 100644 --- a/spec/controllers/home_controller_spec.rb +++ b/spec/controllers/home_controller_spec.rb @@ -10,7 +10,7 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end @@ -21,14 +21,14 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end describe 'when there are no casts at all' do it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end end diff --git a/spec/controllers/user_tokens_controller_spec.rb b/spec/controllers/user_tokens_controller_spec.rb index 2a43c4a..6774f87 100644 --- a/spec/controllers/user_tokens_controller_spec.rb +++ b/spec/controllers/user_tokens_controller_spec.rb @@ -24,14 +24,14 @@ let(:user) { nil } it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end context "when # of claimed asciicasts is nil" do let(:claimed_num) { nil } it 'displays error page' do - response.should render_template(:error) + expect(response).to render_template(:error) end end @@ -39,14 +39,14 @@ let(:claimed_num) { 0 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Authenticated/ } + specify { expect(flash[:notice]).to match(/Authenticated/) } end context "when # of claimed asciicast is > 0" do let(:claimed_num) { 1 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Claimed #{claimed_num}/ } + specify { expect(flash[:notice]).to match(/Claimed #{claimed_num}/) } end end diff --git a/spec/decorators/asciicast_decorator_spec.rb b/spec/decorators/asciicast_decorator_spec.rb index 19e6af1..05264d7 100644 --- a/spec/decorators/asciicast_decorator_spec.rb +++ b/spec/decorators/asciicast_decorator_spec.rb @@ -230,7 +230,7 @@ } before do - asciicast.stub(:id => 123) + allow(asciicast).to receive(:id).and_return(123) end it 'should be an async script tag including asciicast id' do diff --git a/spec/features/playback_spec.rb b/spec/features/playback_spec.rb index ce4f912..0bbfd6c 100644 --- a/spec/features/playback_spec.rb +++ b/spec/features/playback_spec.rb @@ -26,7 +26,7 @@ def inject_on_finished_callback visit asciicast_path(asciicast, speed: 5) find(".play-button").find(".arrow").click inject_on_finished_callback - page.should have_selector('body .finished') + expect(page).to have_selector('body .finished') end end diff --git a/spec/models/comment_spec.rb b/spec/models/comment_spec.rb index e6e128f..11f56e0 100644 --- a/spec/models/comment_spec.rb +++ b/spec/models/comment_spec.rb @@ -3,7 +3,7 @@ describe Comment do it "factory should be valid" do - FactoryGirl.build(:comment).should be_valid + expect(FactoryGirl.build(:comment)).to be_valid end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index a6c845e..88ee9a8 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -96,8 +96,8 @@ it 'returns created UserToken' do ut = user.add_user_token(token) - ut.should be_kind_of(UserToken) - ut.id.should_not be(nil) + expect(ut).to be_kind_of(UserToken) + expect(ut.id).not_to be(nil) end end @@ -107,7 +107,7 @@ it 'returns existing UserToken' do ut = user.add_user_token(token) - ut.should == existing_token + expect(ut).to eq(existing_token) end end end diff --git a/spec/models/user_token_spec.rb b/spec/models/user_token_spec.rb index f1e76e6..a106311 100644 --- a/spec/models/user_token_spec.rb +++ b/spec/models/user_token_spec.rb @@ -2,6 +2,6 @@ describe UserToken do it "has valid factory" do - FactoryGirl.build(:user_token).should be_valid + expect(FactoryGirl.build(:user_token)).to be_valid end end diff --git a/spec/routing/connect_spec.rb b/spec/routing/connect_spec.rb index 351f928..91f713f 100644 --- a/spec/routing/connect_spec.rb +++ b/spec/routing/connect_spec.rb @@ -2,7 +2,7 @@ describe 'connect routing' do it 'routes /connect/:user_token to user_tokens#create for user_token' do - { :get => '/connect/jolka-misio' }.should route_to( + expect({ :get => '/connect/jolka-misio' }).to route_to( :controller => 'user_tokens', :action => 'create', :user_token => 'jolka-misio' diff --git a/spec/support/controller_macros.rb b/spec/support/controller_macros.rb index 6b26434..fa31720 100644 --- a/spec/support/controller_macros.rb +++ b/spec/support/controller_macros.rb @@ -1,7 +1,7 @@ module Asciinema module ControllerMacros def login_as(user) - controller.stub(:current_user => user) + allow(controller).to receive(:current_user).and_return(user) end end end
11 years ago
before { allow(request).to receive(:xhr?).and_return(true) }
10 years ago
it "responds with 403" do
get :bar
Use new rspec syntax in all specs diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index a115b7d..09d150b 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -46,12 +46,12 @@ def retrieve describe "action raise unauthorized" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :foo - response.status.should == 401 + expect(response.status).to eq(401) end end @@ -59,11 +59,11 @@ def retrieve context "when typical request" do it "redirects to login_path" do - @controller.should_receive(:store_location) + expect(@controller).to receive(:store_location) get :foo - flash[:notice].should == "Please sign in to proceed" + expect(flash[:notice]).to eq("Please sign in to proceed") should redirect_to(login_path) end @@ -72,12 +72,12 @@ def retrieve context "when action raise forbidden" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :bar - response.status.should == 403 + expect(response.status).to eq(403) end end @@ -86,7 +86,7 @@ def retrieve it "redirects to root_path" do get :bar - flash[:alert].should == "This action is forbidden" + expect(flash[:alert]).to eq("This action is forbidden") should redirect_to(root_path) end @@ -97,8 +97,8 @@ def retrieve it 'stores current request path to be later retrieved' do get :store get :retrieve - assigns[:location].should == '/fake/store' - assigns[:location_again].should == 'NOWAI!' + expect(assigns[:location]).to eq('/fake/store') + expect(assigns[:location_again]).to eq('NOWAI!') end end @@ -106,7 +106,7 @@ def retrieve context 'when there is no stored location' do it 'redirects to given location' do path = double - @controller.should_receive(:redirect_to).with(path) + expect(@controller).to receive(:redirect_to).with(path) @controller.send(:redirect_back_or_to, path) end end @@ -115,8 +115,8 @@ def retrieve it 'redirects to stored location' do stored_path = double path = double - @controller.stub(:get_stored_location => stored_path) - @controller.should_receive(:redirect_to).with(stored_path) + allow(@controller).to receive(:get_stored_location).and_return(stored_path) + expect(@controller).to receive(:redirect_to).with(stored_path) @controller.send(:redirect_back_or_to, path) end end diff --git a/spec/controllers/asciicasts_controller_spec.rb b/spec/controllers/asciicasts_controller_spec.rb index 5741ec2..c37e69b 100644 --- a/spec/controllers/asciicasts_controller_spec.rb +++ b/spec/controllers/asciicasts_controller_spec.rb @@ -2,12 +2,12 @@ shared_examples_for 'guest user trying to modify' do it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end shared_examples_for 'non-owner user trying to modify' do it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /can't/ } + specify { expect(flash[:alert]).to match(/can't/) } end describe AsciicastsController do @@ -45,7 +45,7 @@ before do allow(controller).to receive(:view_counter) { view_counter } - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.title = 'some tit' end @@ -66,7 +66,7 @@ with(asciicast, cookies) end - specify { assigns(:asciicast).should == asciicast_decorator } + specify { expect(assigns(:asciicast)).to eq(asciicast_decorator) } end context 'for json request' do @@ -98,7 +98,7 @@ let(:make_request) { get :edit, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -133,7 +133,7 @@ let(:make_request) { put :update, :id => asciicast.id, :asciicast => { } } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -144,17 +144,17 @@ context 'when update succeeds' do before do - asciicast.should_receive(:update_attributes).and_return(true) + expect(asciicast).to receive(:update_attributes).and_return(true) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:notice].should =~ /was updated/ } + specify { expect(flash[:notice]).to match(/was updated/) } end context 'when update fails' do before do - asciicast.should_receive(:update_attributes).and_return(false) + expect(asciicast).to receive(:update_attributes).and_return(false) make_request end @@ -184,7 +184,7 @@ let(:make_request) { delete :destroy, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -195,22 +195,22 @@ context 'when destroy succeeds' do before do - asciicast.should_receive(:destroy).and_return(true) + expect(asciicast).to receive(:destroy).and_return(true) make_request end it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /was deleted/ } + specify { expect(flash[:notice]).to match(/was deleted/) } end context 'when destroy fails' do before do - asciicast.should_receive(:destroy).and_return(false) + expect(asciicast).to receive(:destroy).and_return(false) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /again/ } + specify { expect(flash[:alert]).to match(/again/) } end end diff --git a/spec/controllers/home_controller_spec.rb b/spec/controllers/home_controller_spec.rb index 6dcd6e7..e82d5ea 100644 --- a/spec/controllers/home_controller_spec.rb +++ b/spec/controllers/home_controller_spec.rb @@ -10,7 +10,7 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end @@ -21,14 +21,14 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end describe 'when there are no casts at all' do it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end end diff --git a/spec/controllers/user_tokens_controller_spec.rb b/spec/controllers/user_tokens_controller_spec.rb index 2a43c4a..6774f87 100644 --- a/spec/controllers/user_tokens_controller_spec.rb +++ b/spec/controllers/user_tokens_controller_spec.rb @@ -24,14 +24,14 @@ let(:user) { nil } it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end context "when # of claimed asciicasts is nil" do let(:claimed_num) { nil } it 'displays error page' do - response.should render_template(:error) + expect(response).to render_template(:error) end end @@ -39,14 +39,14 @@ let(:claimed_num) { 0 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Authenticated/ } + specify { expect(flash[:notice]).to match(/Authenticated/) } end context "when # of claimed asciicast is > 0" do let(:claimed_num) { 1 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Claimed #{claimed_num}/ } + specify { expect(flash[:notice]).to match(/Claimed #{claimed_num}/) } end end diff --git a/spec/decorators/asciicast_decorator_spec.rb b/spec/decorators/asciicast_decorator_spec.rb index 19e6af1..05264d7 100644 --- a/spec/decorators/asciicast_decorator_spec.rb +++ b/spec/decorators/asciicast_decorator_spec.rb @@ -230,7 +230,7 @@ } before do - asciicast.stub(:id => 123) + allow(asciicast).to receive(:id).and_return(123) end it 'should be an async script tag including asciicast id' do diff --git a/spec/features/playback_spec.rb b/spec/features/playback_spec.rb index ce4f912..0bbfd6c 100644 --- a/spec/features/playback_spec.rb +++ b/spec/features/playback_spec.rb @@ -26,7 +26,7 @@ def inject_on_finished_callback visit asciicast_path(asciicast, speed: 5) find(".play-button").find(".arrow").click inject_on_finished_callback - page.should have_selector('body .finished') + expect(page).to have_selector('body .finished') end end diff --git a/spec/models/comment_spec.rb b/spec/models/comment_spec.rb index e6e128f..11f56e0 100644 --- a/spec/models/comment_spec.rb +++ b/spec/models/comment_spec.rb @@ -3,7 +3,7 @@ describe Comment do it "factory should be valid" do - FactoryGirl.build(:comment).should be_valid + expect(FactoryGirl.build(:comment)).to be_valid end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index a6c845e..88ee9a8 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -96,8 +96,8 @@ it 'returns created UserToken' do ut = user.add_user_token(token) - ut.should be_kind_of(UserToken) - ut.id.should_not be(nil) + expect(ut).to be_kind_of(UserToken) + expect(ut.id).not_to be(nil) end end @@ -107,7 +107,7 @@ it 'returns existing UserToken' do ut = user.add_user_token(token) - ut.should == existing_token + expect(ut).to eq(existing_token) end end end diff --git a/spec/models/user_token_spec.rb b/spec/models/user_token_spec.rb index f1e76e6..a106311 100644 --- a/spec/models/user_token_spec.rb +++ b/spec/models/user_token_spec.rb @@ -2,6 +2,6 @@ describe UserToken do it "has valid factory" do - FactoryGirl.build(:user_token).should be_valid + expect(FactoryGirl.build(:user_token)).to be_valid end end diff --git a/spec/routing/connect_spec.rb b/spec/routing/connect_spec.rb index 351f928..91f713f 100644 --- a/spec/routing/connect_spec.rb +++ b/spec/routing/connect_spec.rb @@ -2,7 +2,7 @@ describe 'connect routing' do it 'routes /connect/:user_token to user_tokens#create for user_token' do - { :get => '/connect/jolka-misio' }.should route_to( + expect({ :get => '/connect/jolka-misio' }).to route_to( :controller => 'user_tokens', :action => 'create', :user_token => 'jolka-misio' diff --git a/spec/support/controller_macros.rb b/spec/support/controller_macros.rb index 6b26434..fa31720 100644 --- a/spec/support/controller_macros.rb +++ b/spec/support/controller_macros.rb @@ -1,7 +1,7 @@ module Asciinema module ControllerMacros def login_as(user) - controller.stub(:current_user => user) + allow(controller).to receive(:current_user).and_return(user) end end end
11 years ago
expect(response.status).to eq(403)
end
end
10 years ago
context "when normal request" do
it "redirects to root_path" do
get :bar
10 years ago
expect(flash[:alert]).to_not be(nil)
should redirect_to(root_path)
end
end
end
describe '#store_location / #get_stored_location' do
it 'stores current request path to be later retrieved' do
get :store
get :retrieve
Use new rspec syntax in all specs diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index a115b7d..09d150b 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -46,12 +46,12 @@ def retrieve describe "action raise unauthorized" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :foo - response.status.should == 401 + expect(response.status).to eq(401) end end @@ -59,11 +59,11 @@ def retrieve context "when typical request" do it "redirects to login_path" do - @controller.should_receive(:store_location) + expect(@controller).to receive(:store_location) get :foo - flash[:notice].should == "Please sign in to proceed" + expect(flash[:notice]).to eq("Please sign in to proceed") should redirect_to(login_path) end @@ -72,12 +72,12 @@ def retrieve context "when action raise forbidden" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :bar - response.status.should == 403 + expect(response.status).to eq(403) end end @@ -86,7 +86,7 @@ def retrieve it "redirects to root_path" do get :bar - flash[:alert].should == "This action is forbidden" + expect(flash[:alert]).to eq("This action is forbidden") should redirect_to(root_path) end @@ -97,8 +97,8 @@ def retrieve it 'stores current request path to be later retrieved' do get :store get :retrieve - assigns[:location].should == '/fake/store' - assigns[:location_again].should == 'NOWAI!' + expect(assigns[:location]).to eq('/fake/store') + expect(assigns[:location_again]).to eq('NOWAI!') end end @@ -106,7 +106,7 @@ def retrieve context 'when there is no stored location' do it 'redirects to given location' do path = double - @controller.should_receive(:redirect_to).with(path) + expect(@controller).to receive(:redirect_to).with(path) @controller.send(:redirect_back_or_to, path) end end @@ -115,8 +115,8 @@ def retrieve it 'redirects to stored location' do stored_path = double path = double - @controller.stub(:get_stored_location => stored_path) - @controller.should_receive(:redirect_to).with(stored_path) + allow(@controller).to receive(:get_stored_location).and_return(stored_path) + expect(@controller).to receive(:redirect_to).with(stored_path) @controller.send(:redirect_back_or_to, path) end end diff --git a/spec/controllers/asciicasts_controller_spec.rb b/spec/controllers/asciicasts_controller_spec.rb index 5741ec2..c37e69b 100644 --- a/spec/controllers/asciicasts_controller_spec.rb +++ b/spec/controllers/asciicasts_controller_spec.rb @@ -2,12 +2,12 @@ shared_examples_for 'guest user trying to modify' do it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end shared_examples_for 'non-owner user trying to modify' do it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /can't/ } + specify { expect(flash[:alert]).to match(/can't/) } end describe AsciicastsController do @@ -45,7 +45,7 @@ before do allow(controller).to receive(:view_counter) { view_counter } - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.title = 'some tit' end @@ -66,7 +66,7 @@ with(asciicast, cookies) end - specify { assigns(:asciicast).should == asciicast_decorator } + specify { expect(assigns(:asciicast)).to eq(asciicast_decorator) } end context 'for json request' do @@ -98,7 +98,7 @@ let(:make_request) { get :edit, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -133,7 +133,7 @@ let(:make_request) { put :update, :id => asciicast.id, :asciicast => { } } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -144,17 +144,17 @@ context 'when update succeeds' do before do - asciicast.should_receive(:update_attributes).and_return(true) + expect(asciicast).to receive(:update_attributes).and_return(true) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:notice].should =~ /was updated/ } + specify { expect(flash[:notice]).to match(/was updated/) } end context 'when update fails' do before do - asciicast.should_receive(:update_attributes).and_return(false) + expect(asciicast).to receive(:update_attributes).and_return(false) make_request end @@ -184,7 +184,7 @@ let(:make_request) { delete :destroy, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -195,22 +195,22 @@ context 'when destroy succeeds' do before do - asciicast.should_receive(:destroy).and_return(true) + expect(asciicast).to receive(:destroy).and_return(true) make_request end it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /was deleted/ } + specify { expect(flash[:notice]).to match(/was deleted/) } end context 'when destroy fails' do before do - asciicast.should_receive(:destroy).and_return(false) + expect(asciicast).to receive(:destroy).and_return(false) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /again/ } + specify { expect(flash[:alert]).to match(/again/) } end end diff --git a/spec/controllers/home_controller_spec.rb b/spec/controllers/home_controller_spec.rb index 6dcd6e7..e82d5ea 100644 --- a/spec/controllers/home_controller_spec.rb +++ b/spec/controllers/home_controller_spec.rb @@ -10,7 +10,7 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end @@ -21,14 +21,14 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end describe 'when there are no casts at all' do it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end end diff --git a/spec/controllers/user_tokens_controller_spec.rb b/spec/controllers/user_tokens_controller_spec.rb index 2a43c4a..6774f87 100644 --- a/spec/controllers/user_tokens_controller_spec.rb +++ b/spec/controllers/user_tokens_controller_spec.rb @@ -24,14 +24,14 @@ let(:user) { nil } it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end context "when # of claimed asciicasts is nil" do let(:claimed_num) { nil } it 'displays error page' do - response.should render_template(:error) + expect(response).to render_template(:error) end end @@ -39,14 +39,14 @@ let(:claimed_num) { 0 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Authenticated/ } + specify { expect(flash[:notice]).to match(/Authenticated/) } end context "when # of claimed asciicast is > 0" do let(:claimed_num) { 1 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Claimed #{claimed_num}/ } + specify { expect(flash[:notice]).to match(/Claimed #{claimed_num}/) } end end diff --git a/spec/decorators/asciicast_decorator_spec.rb b/spec/decorators/asciicast_decorator_spec.rb index 19e6af1..05264d7 100644 --- a/spec/decorators/asciicast_decorator_spec.rb +++ b/spec/decorators/asciicast_decorator_spec.rb @@ -230,7 +230,7 @@ } before do - asciicast.stub(:id => 123) + allow(asciicast).to receive(:id).and_return(123) end it 'should be an async script tag including asciicast id' do diff --git a/spec/features/playback_spec.rb b/spec/features/playback_spec.rb index ce4f912..0bbfd6c 100644 --- a/spec/features/playback_spec.rb +++ b/spec/features/playback_spec.rb @@ -26,7 +26,7 @@ def inject_on_finished_callback visit asciicast_path(asciicast, speed: 5) find(".play-button").find(".arrow").click inject_on_finished_callback - page.should have_selector('body .finished') + expect(page).to have_selector('body .finished') end end diff --git a/spec/models/comment_spec.rb b/spec/models/comment_spec.rb index e6e128f..11f56e0 100644 --- a/spec/models/comment_spec.rb +++ b/spec/models/comment_spec.rb @@ -3,7 +3,7 @@ describe Comment do it "factory should be valid" do - FactoryGirl.build(:comment).should be_valid + expect(FactoryGirl.build(:comment)).to be_valid end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index a6c845e..88ee9a8 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -96,8 +96,8 @@ it 'returns created UserToken' do ut = user.add_user_token(token) - ut.should be_kind_of(UserToken) - ut.id.should_not be(nil) + expect(ut).to be_kind_of(UserToken) + expect(ut.id).not_to be(nil) end end @@ -107,7 +107,7 @@ it 'returns existing UserToken' do ut = user.add_user_token(token) - ut.should == existing_token + expect(ut).to eq(existing_token) end end end diff --git a/spec/models/user_token_spec.rb b/spec/models/user_token_spec.rb index f1e76e6..a106311 100644 --- a/spec/models/user_token_spec.rb +++ b/spec/models/user_token_spec.rb @@ -2,6 +2,6 @@ describe UserToken do it "has valid factory" do - FactoryGirl.build(:user_token).should be_valid + expect(FactoryGirl.build(:user_token)).to be_valid end end diff --git a/spec/routing/connect_spec.rb b/spec/routing/connect_spec.rb index 351f928..91f713f 100644 --- a/spec/routing/connect_spec.rb +++ b/spec/routing/connect_spec.rb @@ -2,7 +2,7 @@ describe 'connect routing' do it 'routes /connect/:user_token to user_tokens#create for user_token' do - { :get => '/connect/jolka-misio' }.should route_to( + expect({ :get => '/connect/jolka-misio' }).to route_to( :controller => 'user_tokens', :action => 'create', :user_token => 'jolka-misio' diff --git a/spec/support/controller_macros.rb b/spec/support/controller_macros.rb index 6b26434..fa31720 100644 --- a/spec/support/controller_macros.rb +++ b/spec/support/controller_macros.rb @@ -1,7 +1,7 @@ module Asciinema module ControllerMacros def login_as(user) - controller.stub(:current_user => user) + allow(controller).to receive(:current_user).and_return(user) end end end
11 years ago
expect(assigns[:location]).to eq('/fake/store')
expect(assigns[:location_again]).to eq('NOWAI!')
end
end
describe '#redirect_back_or_to' do
context 'when there is no stored location' do
it 'redirects to given location' do
path = double
Use new rspec syntax in all specs diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index a115b7d..09d150b 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -46,12 +46,12 @@ def retrieve describe "action raise unauthorized" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :foo - response.status.should == 401 + expect(response.status).to eq(401) end end @@ -59,11 +59,11 @@ def retrieve context "when typical request" do it "redirects to login_path" do - @controller.should_receive(:store_location) + expect(@controller).to receive(:store_location) get :foo - flash[:notice].should == "Please sign in to proceed" + expect(flash[:notice]).to eq("Please sign in to proceed") should redirect_to(login_path) end @@ -72,12 +72,12 @@ def retrieve context "when action raise forbidden" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :bar - response.status.should == 403 + expect(response.status).to eq(403) end end @@ -86,7 +86,7 @@ def retrieve it "redirects to root_path" do get :bar - flash[:alert].should == "This action is forbidden" + expect(flash[:alert]).to eq("This action is forbidden") should redirect_to(root_path) end @@ -97,8 +97,8 @@ def retrieve it 'stores current request path to be later retrieved' do get :store get :retrieve - assigns[:location].should == '/fake/store' - assigns[:location_again].should == 'NOWAI!' + expect(assigns[:location]).to eq('/fake/store') + expect(assigns[:location_again]).to eq('NOWAI!') end end @@ -106,7 +106,7 @@ def retrieve context 'when there is no stored location' do it 'redirects to given location' do path = double - @controller.should_receive(:redirect_to).with(path) + expect(@controller).to receive(:redirect_to).with(path) @controller.send(:redirect_back_or_to, path) end end @@ -115,8 +115,8 @@ def retrieve it 'redirects to stored location' do stored_path = double path = double - @controller.stub(:get_stored_location => stored_path) - @controller.should_receive(:redirect_to).with(stored_path) + allow(@controller).to receive(:get_stored_location).and_return(stored_path) + expect(@controller).to receive(:redirect_to).with(stored_path) @controller.send(:redirect_back_or_to, path) end end diff --git a/spec/controllers/asciicasts_controller_spec.rb b/spec/controllers/asciicasts_controller_spec.rb index 5741ec2..c37e69b 100644 --- a/spec/controllers/asciicasts_controller_spec.rb +++ b/spec/controllers/asciicasts_controller_spec.rb @@ -2,12 +2,12 @@ shared_examples_for 'guest user trying to modify' do it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end shared_examples_for 'non-owner user trying to modify' do it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /can't/ } + specify { expect(flash[:alert]).to match(/can't/) } end describe AsciicastsController do @@ -45,7 +45,7 @@ before do allow(controller).to receive(:view_counter) { view_counter } - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.title = 'some tit' end @@ -66,7 +66,7 @@ with(asciicast, cookies) end - specify { assigns(:asciicast).should == asciicast_decorator } + specify { expect(assigns(:asciicast)).to eq(asciicast_decorator) } end context 'for json request' do @@ -98,7 +98,7 @@ let(:make_request) { get :edit, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -133,7 +133,7 @@ let(:make_request) { put :update, :id => asciicast.id, :asciicast => { } } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -144,17 +144,17 @@ context 'when update succeeds' do before do - asciicast.should_receive(:update_attributes).and_return(true) + expect(asciicast).to receive(:update_attributes).and_return(true) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:notice].should =~ /was updated/ } + specify { expect(flash[:notice]).to match(/was updated/) } end context 'when update fails' do before do - asciicast.should_receive(:update_attributes).and_return(false) + expect(asciicast).to receive(:update_attributes).and_return(false) make_request end @@ -184,7 +184,7 @@ let(:make_request) { delete :destroy, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -195,22 +195,22 @@ context 'when destroy succeeds' do before do - asciicast.should_receive(:destroy).and_return(true) + expect(asciicast).to receive(:destroy).and_return(true) make_request end it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /was deleted/ } + specify { expect(flash[:notice]).to match(/was deleted/) } end context 'when destroy fails' do before do - asciicast.should_receive(:destroy).and_return(false) + expect(asciicast).to receive(:destroy).and_return(false) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /again/ } + specify { expect(flash[:alert]).to match(/again/) } end end diff --git a/spec/controllers/home_controller_spec.rb b/spec/controllers/home_controller_spec.rb index 6dcd6e7..e82d5ea 100644 --- a/spec/controllers/home_controller_spec.rb +++ b/spec/controllers/home_controller_spec.rb @@ -10,7 +10,7 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end @@ -21,14 +21,14 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end describe 'when there are no casts at all' do it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end end diff --git a/spec/controllers/user_tokens_controller_spec.rb b/spec/controllers/user_tokens_controller_spec.rb index 2a43c4a..6774f87 100644 --- a/spec/controllers/user_tokens_controller_spec.rb +++ b/spec/controllers/user_tokens_controller_spec.rb @@ -24,14 +24,14 @@ let(:user) { nil } it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end context "when # of claimed asciicasts is nil" do let(:claimed_num) { nil } it 'displays error page' do - response.should render_template(:error) + expect(response).to render_template(:error) end end @@ -39,14 +39,14 @@ let(:claimed_num) { 0 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Authenticated/ } + specify { expect(flash[:notice]).to match(/Authenticated/) } end context "when # of claimed asciicast is > 0" do let(:claimed_num) { 1 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Claimed #{claimed_num}/ } + specify { expect(flash[:notice]).to match(/Claimed #{claimed_num}/) } end end diff --git a/spec/decorators/asciicast_decorator_spec.rb b/spec/decorators/asciicast_decorator_spec.rb index 19e6af1..05264d7 100644 --- a/spec/decorators/asciicast_decorator_spec.rb +++ b/spec/decorators/asciicast_decorator_spec.rb @@ -230,7 +230,7 @@ } before do - asciicast.stub(:id => 123) + allow(asciicast).to receive(:id).and_return(123) end it 'should be an async script tag including asciicast id' do diff --git a/spec/features/playback_spec.rb b/spec/features/playback_spec.rb index ce4f912..0bbfd6c 100644 --- a/spec/features/playback_spec.rb +++ b/spec/features/playback_spec.rb @@ -26,7 +26,7 @@ def inject_on_finished_callback visit asciicast_path(asciicast, speed: 5) find(".play-button").find(".arrow").click inject_on_finished_callback - page.should have_selector('body .finished') + expect(page).to have_selector('body .finished') end end diff --git a/spec/models/comment_spec.rb b/spec/models/comment_spec.rb index e6e128f..11f56e0 100644 --- a/spec/models/comment_spec.rb +++ b/spec/models/comment_spec.rb @@ -3,7 +3,7 @@ describe Comment do it "factory should be valid" do - FactoryGirl.build(:comment).should be_valid + expect(FactoryGirl.build(:comment)).to be_valid end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index a6c845e..88ee9a8 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -96,8 +96,8 @@ it 'returns created UserToken' do ut = user.add_user_token(token) - ut.should be_kind_of(UserToken) - ut.id.should_not be(nil) + expect(ut).to be_kind_of(UserToken) + expect(ut.id).not_to be(nil) end end @@ -107,7 +107,7 @@ it 'returns existing UserToken' do ut = user.add_user_token(token) - ut.should == existing_token + expect(ut).to eq(existing_token) end end end diff --git a/spec/models/user_token_spec.rb b/spec/models/user_token_spec.rb index f1e76e6..a106311 100644 --- a/spec/models/user_token_spec.rb +++ b/spec/models/user_token_spec.rb @@ -2,6 +2,6 @@ describe UserToken do it "has valid factory" do - FactoryGirl.build(:user_token).should be_valid + expect(FactoryGirl.build(:user_token)).to be_valid end end diff --git a/spec/routing/connect_spec.rb b/spec/routing/connect_spec.rb index 351f928..91f713f 100644 --- a/spec/routing/connect_spec.rb +++ b/spec/routing/connect_spec.rb @@ -2,7 +2,7 @@ describe 'connect routing' do it 'routes /connect/:user_token to user_tokens#create for user_token' do - { :get => '/connect/jolka-misio' }.should route_to( + expect({ :get => '/connect/jolka-misio' }).to route_to( :controller => 'user_tokens', :action => 'create', :user_token => 'jolka-misio' diff --git a/spec/support/controller_macros.rb b/spec/support/controller_macros.rb index 6b26434..fa31720 100644 --- a/spec/support/controller_macros.rb +++ b/spec/support/controller_macros.rb @@ -1,7 +1,7 @@ module Asciinema module ControllerMacros def login_as(user) - controller.stub(:current_user => user) + allow(controller).to receive(:current_user).and_return(user) end end end
11 years ago
expect(@controller).to receive(:redirect_to).with(path)
@controller.send(:redirect_back_or_to, path)
end
end
context 'when there is stored location' do
it 'redirects to stored location' do
stored_path = double
path = double
allow(@controller).to receive(:get_stored_location) { stored_path }
Use new rspec syntax in all specs diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index a115b7d..09d150b 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -46,12 +46,12 @@ def retrieve describe "action raise unauthorized" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :foo - response.status.should == 401 + expect(response.status).to eq(401) end end @@ -59,11 +59,11 @@ def retrieve context "when typical request" do it "redirects to login_path" do - @controller.should_receive(:store_location) + expect(@controller).to receive(:store_location) get :foo - flash[:notice].should == "Please sign in to proceed" + expect(flash[:notice]).to eq("Please sign in to proceed") should redirect_to(login_path) end @@ -72,12 +72,12 @@ def retrieve context "when action raise forbidden" do context "when xhr" do - before { request.stub(:xhr?).and_return(true) } + before { allow(request).to receive(:xhr?).and_return(true) } it "response with 401" do get :bar - response.status.should == 403 + expect(response.status).to eq(403) end end @@ -86,7 +86,7 @@ def retrieve it "redirects to root_path" do get :bar - flash[:alert].should == "This action is forbidden" + expect(flash[:alert]).to eq("This action is forbidden") should redirect_to(root_path) end @@ -97,8 +97,8 @@ def retrieve it 'stores current request path to be later retrieved' do get :store get :retrieve - assigns[:location].should == '/fake/store' - assigns[:location_again].should == 'NOWAI!' + expect(assigns[:location]).to eq('/fake/store') + expect(assigns[:location_again]).to eq('NOWAI!') end end @@ -106,7 +106,7 @@ def retrieve context 'when there is no stored location' do it 'redirects to given location' do path = double - @controller.should_receive(:redirect_to).with(path) + expect(@controller).to receive(:redirect_to).with(path) @controller.send(:redirect_back_or_to, path) end end @@ -115,8 +115,8 @@ def retrieve it 'redirects to stored location' do stored_path = double path = double - @controller.stub(:get_stored_location => stored_path) - @controller.should_receive(:redirect_to).with(stored_path) + allow(@controller).to receive(:get_stored_location).and_return(stored_path) + expect(@controller).to receive(:redirect_to).with(stored_path) @controller.send(:redirect_back_or_to, path) end end diff --git a/spec/controllers/asciicasts_controller_spec.rb b/spec/controllers/asciicasts_controller_spec.rb index 5741ec2..c37e69b 100644 --- a/spec/controllers/asciicasts_controller_spec.rb +++ b/spec/controllers/asciicasts_controller_spec.rb @@ -2,12 +2,12 @@ shared_examples_for 'guest user trying to modify' do it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end shared_examples_for 'non-owner user trying to modify' do it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /can't/ } + specify { expect(flash[:alert]).to match(/can't/) } end describe AsciicastsController do @@ -45,7 +45,7 @@ before do allow(controller).to receive(:view_counter) { view_counter } - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.title = 'some tit' end @@ -66,7 +66,7 @@ with(asciicast, cookies) end - specify { assigns(:asciicast).should == asciicast_decorator } + specify { expect(assigns(:asciicast)).to eq(asciicast_decorator) } end context 'for json request' do @@ -98,7 +98,7 @@ let(:make_request) { get :edit, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -133,7 +133,7 @@ let(:make_request) { put :update, :id => asciicast.id, :asciicast => { } } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -144,17 +144,17 @@ context 'when update succeeds' do before do - asciicast.should_receive(:update_attributes).and_return(true) + expect(asciicast).to receive(:update_attributes).and_return(true) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:notice].should =~ /was updated/ } + specify { expect(flash[:notice]).to match(/was updated/) } end context 'when update fails' do before do - asciicast.should_receive(:update_attributes).and_return(false) + expect(asciicast).to receive(:update_attributes).and_return(false) make_request end @@ -184,7 +184,7 @@ let(:make_request) { delete :destroy, :id => asciicast.id } before do - Asciicast.should_receive(:find).and_return(asciicast) + expect(Asciicast).to receive(:find).and_return(asciicast) asciicast.user = user end @@ -195,22 +195,22 @@ context 'when destroy succeeds' do before do - asciicast.should_receive(:destroy).and_return(true) + expect(asciicast).to receive(:destroy).and_return(true) make_request end it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /was deleted/ } + specify { expect(flash[:notice]).to match(/was deleted/) } end context 'when destroy fails' do before do - asciicast.should_receive(:destroy).and_return(false) + expect(asciicast).to receive(:destroy).and_return(false) make_request end it { should redirect_to(asciicast_path(asciicast)) } - specify { flash[:alert].should =~ /again/ } + specify { expect(flash[:alert]).to match(/again/) } end end diff --git a/spec/controllers/home_controller_spec.rb b/spec/controllers/home_controller_spec.rb index 6dcd6e7..e82d5ea 100644 --- a/spec/controllers/home_controller_spec.rb +++ b/spec/controllers/home_controller_spec.rb @@ -10,7 +10,7 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end @@ -21,14 +21,14 @@ it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end describe 'when there are no casts at all' do it "returns http success" do get 'show' - response.should be_success + expect(response).to be_success end end end diff --git a/spec/controllers/user_tokens_controller_spec.rb b/spec/controllers/user_tokens_controller_spec.rb index 2a43c4a..6774f87 100644 --- a/spec/controllers/user_tokens_controller_spec.rb +++ b/spec/controllers/user_tokens_controller_spec.rb @@ -24,14 +24,14 @@ let(:user) { nil } it { should redirect_to(login_path) } - specify { flash[:notice].should =~ /sign in to proceed/ } + specify { expect(flash[:notice]).to match(/sign in to proceed/) } end context "when # of claimed asciicasts is nil" do let(:claimed_num) { nil } it 'displays error page' do - response.should render_template(:error) + expect(response).to render_template(:error) end end @@ -39,14 +39,14 @@ let(:claimed_num) { 0 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Authenticated/ } + specify { expect(flash[:notice]).to match(/Authenticated/) } end context "when # of claimed asciicast is > 0" do let(:claimed_num) { 1 } it { should redirect_to(profile_path(user)) } - specify { flash[:notice].should =~ /Claimed #{claimed_num}/ } + specify { expect(flash[:notice]).to match(/Claimed #{claimed_num}/) } end end diff --git a/spec/decorators/asciicast_decorator_spec.rb b/spec/decorators/asciicast_decorator_spec.rb index 19e6af1..05264d7 100644 --- a/spec/decorators/asciicast_decorator_spec.rb +++ b/spec/decorators/asciicast_decorator_spec.rb @@ -230,7 +230,7 @@ } before do - asciicast.stub(:id => 123) + allow(asciicast).to receive(:id).and_return(123) end it 'should be an async script tag including asciicast id' do diff --git a/spec/features/playback_spec.rb b/spec/features/playback_spec.rb index ce4f912..0bbfd6c 100644 --- a/spec/features/playback_spec.rb +++ b/spec/features/playback_spec.rb @@ -26,7 +26,7 @@ def inject_on_finished_callback visit asciicast_path(asciicast, speed: 5) find(".play-button").find(".arrow").click inject_on_finished_callback - page.should have_selector('body .finished') + expect(page).to have_selector('body .finished') end end diff --git a/spec/models/comment_spec.rb b/spec/models/comment_spec.rb index e6e128f..11f56e0 100644 --- a/spec/models/comment_spec.rb +++ b/spec/models/comment_spec.rb @@ -3,7 +3,7 @@ describe Comment do it "factory should be valid" do - FactoryGirl.build(:comment).should be_valid + expect(FactoryGirl.build(:comment)).to be_valid end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index a6c845e..88ee9a8 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -96,8 +96,8 @@ it 'returns created UserToken' do ut = user.add_user_token(token) - ut.should be_kind_of(UserToken) - ut.id.should_not be(nil) + expect(ut).to be_kind_of(UserToken) + expect(ut.id).not_to be(nil) end end @@ -107,7 +107,7 @@ it 'returns existing UserToken' do ut = user.add_user_token(token) - ut.should == existing_token + expect(ut).to eq(existing_token) end end end diff --git a/spec/models/user_token_spec.rb b/spec/models/user_token_spec.rb index f1e76e6..a106311 100644 --- a/spec/models/user_token_spec.rb +++ b/spec/models/user_token_spec.rb @@ -2,6 +2,6 @@ describe UserToken do it "has valid factory" do - FactoryGirl.build(:user_token).should be_valid + expect(FactoryGirl.build(:user_token)).to be_valid end end diff --git a/spec/routing/connect_spec.rb b/spec/routing/connect_spec.rb index 351f928..91f713f 100644 --- a/spec/routing/connect_spec.rb +++ b/spec/routing/connect_spec.rb @@ -2,7 +2,7 @@ describe 'connect routing' do it 'routes /connect/:user_token to user_tokens#create for user_token' do - { :get => '/connect/jolka-misio' }.should route_to( + expect({ :get => '/connect/jolka-misio' }).to route_to( :controller => 'user_tokens', :action => 'create', :user_token => 'jolka-misio' diff --git a/spec/support/controller_macros.rb b/spec/support/controller_macros.rb index 6b26434..fa31720 100644 --- a/spec/support/controller_macros.rb +++ b/spec/support/controller_macros.rb @@ -1,7 +1,7 @@ module Asciinema module ControllerMacros def login_as(user) - controller.stub(:current_user => user) + allow(controller).to receive(:current_user).and_return(user) end end end
11 years ago
expect(@controller).to receive(:redirect_to).with(stored_path)
@controller.send(:redirect_back_or_to, path)
end
end
end
end