Commit Graph

86 Commits (37ac63021e2e841eae3cd655e47938729c81b703)

Author SHA1 Message Date
Marcin Kulik 105d11bfe7 Change naming convention for presenter objects 11 years ago
Marcin Kulik d06801487c Set defaults for AsciicastListPresenter in .build 11 years ago
Marcin Kulik 57bcab04c9 Use proper PlaybackOptions object for passing options to JS player 11 years ago
Marcin Kulik 86f6af3d78 Introduce AsciicastPresenter 11 years ago
Marcin Kulik d571be2bbd Introduce AsciicastListPresenter 11 years ago
Marcin Kulik f6ad790a09 Introduce HomePresenter 11 years ago
Marcin Kulik 613621023c 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
Marcin Kulik 66a2eae3b4 Use FG shortcut helpers in home controller spec 11 years ago
Marcin Kulik c785e1a1ff Fix asciicasts_controller spec 11 years ago
Marcin Kulik af02d5e0b2 Dasherize how-it-works and getting-started doc paths 11 years ago
Marcin Kulik 100273f5bf Update browse page to new layout and add sorting 11 years ago
Marcin Kulik 08d17f28e3 Redesign asciicast page 11 years ago
Marcin Kulik 88e2e54477 Add privacy policy 11 years ago
Marcin Kulik 431fd87002 Use auth token for permanent sessions 11 years ago
Marcin Kulik a194d361d0 Redirect to "getting started" page after sign up 11 years ago
Marcin Kulik 352fb6ede6 Improve wording 11 years ago
Marcin Kulik d4cbc3e504 Make Persona the only login option (with the ability to access old accounts) 11 years ago
Marcin Kulik d74ead2263 Store client's user agent on Asciicast record 11 years ago
Marcin Kulik 32a2f44eb6 Move user token creation/assignment to a service object 11 years ago
Marcin Kulik b08ffd48b4 Make the ViewCounter a controller dependency in the form of a private method 11 years ago
Marcin Kulik ee636bf958 Update the player to use backend-generated JSON frames 11 years ago
Marcin Kulik 731751650c Keep the lines shorther than 80 chars 11 years ago
Marcin Kulik cdc2f01753 Find or build user from omniauth hash in the middleware 11 years ago
Marcin Kulik 6db65b2a6c Serve asciicast as JSON in chunks 11 years ago
Marcin Kulik 9845802180 Use stub_model instead of rspec's double 11 years ago
Marcin Kulik c22cb1cdcc Get rid of the asciicast comments that are not used anymore 11 years ago
Marcin Kulik e1286b407e Use double instead of mock, stub instead of stub! to make rspec happy 11 years ago
Marcin Kulik 59e31baa1b Process incoming asciicast with AsciicastCreator 11 years ago
Marcin Kulik 0b9ae12feb Use nice matcher for sidekiq job enqueues 11 years ago
Marcin Kulik c5509c60b6 Update tests for Sidekiq 11 years ago
Marcin Kulik 0f99198a1a Add spec for asciicasts#show as js 11 years ago
Marcin Kulik 013eade63c Count view only once in the same browser 11 years ago
Marcin Kulik 4c5c0c7d0e Fix logging in after draper upgrade 11 years ago
Marcin Kulik f5a91c680b Fix draper vs kaminari issue 11 years ago
Marcin Kulik b284781620 Cover all scenatios in asciicasts controller specs 12 years ago
Marcin Kulik 4a9036a9d9 Cover unauthenticated path in user_token controller spec 12 years ago
Marcin Kulik e236584458 Add explicit routing in ApplicationController spec 12 years ago
Marcin Kulik edca2027ce Fix AsciicastsController#destroy spec 12 years ago
Marcin Kulik 92dde22afe Use proper verb in SessionsController specs 12 years ago
Marcin Kulik d0e16853e0 Pass required action params in SessionsController spec 12 years ago
Marcin Kulik 67a182d6ca Use new FactoryGirl syntax exclusively 12 years ago
Marcin Kulik 668f382a69 Fix specs 12 years ago
Marcin Kulik 785273707b Proper design, finally! 12 years ago
Marcin Kulik a57d05597e Don't crash on comment for asciicast without user 12 years ago
Marcin Kulik 06e7314f23 Fix AsciicastsController spec 12 years ago
Marcin Kulik 347068e064 Tests adjustments for girl_friday 12 years ago
Marcin Kulik 3a7f462b13 Send email to asciicast author when someone comments 13 years ago
Marcin Kulik 0bb3e75fb6 No need for instance variables in CommentsController#create 13 years ago
Marcin Kulik 10b64e08b4 Pending 13 years ago
Marcin Kulik 4549592238 Use "method" naming for describe blocks in controller specs 13 years ago