Commit Graph

400 Commits

Author SHA1 Message Date
Marcin Kulik
c9437524fb Move test routes definition from routes.rb to a test file 2013-12-09 23:16:41 +01:00
Marcin Kulik
ec2004713e Set test specific carrierwave storage dir prefix in spec_helper 2013-12-09 20:26:08 +01:00
Marcin Kulik
bf8b49b108 Move test specific carrierwave configuration to spec_helper 2013-12-09 19:16:09 +01:00
Marcin Kulik
8afb6f157f Use factory_girl helpers instead of FactoryGirl.build/create 2013-12-09 17:19:14 +01:00
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
2013-12-09 17:16:38 +01:00
Marcin Kulik
d8de171f66 Add "Contributing" page 2013-12-03 20:11:47 +01:00
Marcin Kulik
e2e117ce84 Refactor profile link helpers and decorators 2013-12-01 00:55:31 +01:00
Marcin Kulik
b6126167a3 Prefer gravatar over old omniauth provided avatar 2013-11-30 11:15:41 +01:00
Marcin Kulik
66a2eae3b4 Use FG shortcut helpers in home controller spec 2013-11-30 10:58:38 +01:00
Marcin Kulik
c785e1a1ff Fix asciicasts_controller spec 2013-11-28 23:20:01 +01:00
Marcin Kulik
2dbc811caf Fix the condition for displaying edit/delete links 2013-11-22 22:33:14 +01:00
Marcin Kulik
4b9c33f228 Add fake host pages with an embedded asciicast 2013-11-22 21:45:45 +01:00
Marcin Kulik
38cde2d172 Avoid AR chains outside of AR models 2013-11-20 21:33:30 +01:00
Marcin Kulik
dd9488d56f Add fullname_and_nickname to UserDecorator 2013-11-20 21:33:29 +01:00
Marcin Kulik
3a2692f70f Add test for UserDecorator#avatar_url 2013-11-20 21:33:27 +01:00
Marcin Kulik
af02d5e0b2 Dasherize how-it-works and getting-started doc paths 2013-11-20 21:33:26 +01:00
Marcin Kulik
100273f5bf Update browse page to new layout and add sorting 2013-11-20 21:33:26 +01:00
Marcin Kulik
08d17f28e3 Redesign asciicast page 2013-11-20 21:33:25 +01:00
Marcin Kulik
f9717f1aa5 Update profile page to new layout 2013-11-20 21:33:24 +01:00
Marcin Kulik
3362da04dc Update information on "About" page 2013-11-20 21:33:22 +01:00
Marcin Kulik
76ddc94561 Update docs pages for new layout 2013-11-20 21:33:22 +01:00
Marcin Kulik
c0473dc217 Redesign homepage (and layout in general) 2013-11-20 21:33:22 +01:00
Marcin Kulik
6009250a36 Display "asciicast:<id>" as a title for title-less asciicasts 2013-11-20 21:29:43 +01:00
Marcin Kulik
88e2e54477 Add privacy policy 2013-10-25 20:01:56 +02:00
Marcin Kulik
888f3b7c80 Don't take current user's email from current profile page's user 2013-10-23 21:54:11 +02:00
Marcin Kulik
431fd87002 Use auth token for permanent sessions 2013-10-22 19:16:18 +02:00
Marcin Kulik
3e1feff84e Auto-strip whitespace from email and nickname 2013-10-22 17:58:15 +02:00
Marcin Kulik
5bd8b05a93 Validate presence and uniqueness of both nickname and email 2013-10-22 17:52:04 +02:00
Marcin Kulik
a194d361d0 Redirect to "getting started" page after sign up 2013-10-22 17:42:32 +02:00
Marcin Kulik
352fb6ede6 Improve wording 2013-10-22 17:42:32 +02:00
Marcin Kulik
a2b0a637fa Refactor User.for_credentials/for_email into class methods 2013-10-20 18:58:31 +02:00
Marcin Kulik
e95ac75c31 Remove unnecessary test for user factory 2013-10-20 18:58:31 +02:00
Marcin Kulik
d4cbc3e504 Make Persona the only login option (with the ability to access old accounts) 2013-10-20 18:58:11 +02:00
Marcin Kulik
8c43aaf081 Add login via Mozilla Persona 2013-10-20 18:07:03 +02:00
Marcin Kulik
769acb6593 OmniAuthHelper is better name than OauthHelper
Conflicts:
	app/models/user.rb
	spec/models/user_spec.rb
2013-10-20 18:06:13 +02:00
Marcin Kulik
4b981d710b Fix feature specs 2013-10-20 17:26:01 +02:00
Marcin Kulik
5b177f0d13 Fix AsciicastSerializer spec 2013-10-20 17:03:20 +02:00
Marcin Kulik
7b30f7045d Fix docs specs 2013-10-20 17:03:12 +02:00
Marcin Kulik
b61a321299 Adjust user_agent parsing to take python implementation into an account 2013-10-14 21:10:17 +02:00
Marcin Kulik
7e5af6ed56 Favor uname over user_agent when accepting upload 2013-10-13 12:29:30 +02:00
Marcin Kulik
f86734bf50 Revert "Favor uname over user_agent"
This reverts commit 97931ceaed.
2013-10-13 12:28:58 +02:00
Marcin Kulik
97931ceaed Favor uname over user_agent 2013-10-13 11:51:41 +02:00
Marcin Kulik
d74ead2263 Store client's user agent on Asciicast record 2013-10-11 20:44:49 +02:00
Marcin Kulik
d71da5b369 Move asciicast attributes preparation to AsciicastAttributes 2013-09-25 21:42:59 +02:00
Marcin Kulik
f3ecd376d7 Update updated_at on all claimed asciicasts 2013-09-25 21:42:59 +02:00
Marcin Kulik
32a2f44eb6 Move user token creation/assignment to a service object 2013-09-25 21:42:59 +02:00
Marcin Kulik
b08ffd48b4 Make the ViewCounter a controller dependency in the form of a private method 2013-09-25 21:42:40 +02:00
Marcin Kulik
f02daa9069 BrushPresenter -> BrushDecorator 2013-09-24 12:31:18 +02:00
Marcin Kulik
0350f908a9 Move TimingParser to services 2013-09-23 21:21:07 +02:00
Marcin Kulik
0634f52c99 Change all occurrences of old project name to the new one 2013-09-23 19:05:36 +02:00
Marcin Kulik
08583e9073 Don't cross 80 line boundary 2013-09-21 13:11:36 +02:00
Marcin Kulik
ee636bf958 Update the player to use backend-generated JSON frames 2013-09-21 13:05:13 +02:00
Marcin Kulik
79f8eaf2ed Fix display of reversed characters in the thumbnails and the preview 2013-09-21 13:05:12 +02:00
Marcin Kulik
82fa03863d Adjust Snapshot#crop to work on already optimized lines 2013-09-21 13:05:12 +02:00
Marcin Kulik
22f076a366 Add pregenerated snapshot and frames to asciicast factory 2013-09-21 13:04:43 +02:00
Marcin Kulik
ff153fff1a Make Terminal return already optimized snapshot 2013-09-20 23:05:34 +02:00
Marcin Kulik
0e2c1784c6 Use terminal binary as a base for Terminal 2013-09-20 23:05:33 +02:00
Marcin Kulik
e862acedb7 Animation frames generation on the backend 2013-09-10 21:29:17 +02:00
Marcin Kulik
9e152c3172 Sanitize all characters coming from TSM::Screen#draw
It happens that libtsm's screen_draw returns a character that can't be
properly encoded as utf-8. As what we get is only meant to be displayed
and not interpreted we can replace these invalid characters with a
questio mark, which is a common practice for printing invalid chars.
2013-08-29 15:10:46 +02:00
Marcin Kulik
26801d207f Make Asciicast use BufferedStdout instead of Stdout 2013-08-28 16:56:40 +02:00
Marcin Kulik
6962f49ec0 Fix spec for AsciicastDecorator#thumbnail 2013-08-27 20:39:42 +02:00
Marcin Kulik
b47fa27968 Refactor Snapshot to use Grid under the hood 2013-08-27 20:31:31 +02:00
Marcin Kulik
d324200b01 Add BufferedStdout class whose #each yields at 60 hz tops 2013-08-27 20:31:27 +02:00
Marcin Kulik
c775bc8b06 Use less spans for thumbnail rendering 2013-08-26 11:02:32 +02:00
Marcin Kulik
31a880b7aa Simplify Snapshot and its presenter 2013-08-25 20:49:23 +02:00
Marcin Kulik
34b39d0db3 Simplify the structure returned by Terminal#snapshot
Each screen character is in its own, separate cell now. In addition the char
attributes don't include attributes that are "falsy".
2013-08-25 17:41:04 +02:00
Marcin Kulik
b330f29dcd Define char encoding for a spec file 2013-08-25 17:17:20 +02:00
Marcin Kulik
731751650c Keep the lines shorther than 80 chars 2013-08-25 16:34:02 +02:00
Marcin Kulik
cdc2f01753 Find or build user from omniauth hash in the middleware 2013-08-19 17:08:13 +02:00
Marcin Kulik
40856933aa Support "blink" attribute in the thumbnails 2013-08-15 23:05:09 +02:00
Marcin Kulik
a53c8de5b9 Pass paths to decompressed stdout files to Stdout 2013-08-15 20:58:41 +02:00
Marcin Kulik
13119b2987 Display asciicast length on thumbnails 2013-08-14 20:40:24 +02:00
Marcin Kulik
2e9b0a4718 Remove boring empty trailing lines from thumbnails 2013-08-14 17:24:36 +02:00
Marcin Kulik
6acea6da70 Use tilde prefix for nickname only in profile url 2013-08-14 16:30:49 +02:00
Marcin Kulik
6db65b2a6c Serve asciicast as JSON in chunks 2013-08-13 19:52:54 +02:00
Marcin Kulik
d21be98a5c Adjust SnapshotCreator to the latest API changes in Terminal and Stdout 2013-08-13 19:52:54 +02:00
Marcin Kulik
0c3494d174 Require explicit call to Terminal#snapshot for getting the snapshot 2013-08-13 19:52:53 +02:00
Marcin Kulik
6c8dbf4173 Make Stdout provide data in chunks 2013-08-13 19:52:53 +02:00
Marcin Kulik
fa4c5e4664 Replace Bzip2Uploader#decompressed with #decompressed_path 2013-08-13 19:52:53 +02:00
Marcin Kulik
4e5468b54e Add feature spec for widget 2013-08-10 16:51:21 +02:00
Marcin Kulik
f5e47c3c8c Add request spec for asciicast upload 2013-08-08 15:41:57 +02:00
Marcin Kulik
9845802180 Use stub_model instead of rspec's double 2013-08-08 15:26:12 +02:00
Marcin Kulik
c22cb1cdcc Get rid of the asciicast comments that are not used anymore 2013-08-08 15:25:27 +02:00
Marcin Kulik
e1286b407e Use double instead of mock, stub instead of stub! to make rspec happy 2013-08-08 11:44:37 +02:00
Marcin Kulik
0a8cc6ff8a One more attempt to fix the memory leak 2013-08-06 12:50:38 +02:00
Marcin Kulik
4767442875 Make Snapshot#crop return the snapshot of exact requested height 2013-08-06 00:37:37 +02:00
Marcin Kulik
5ecf209a53 Add some TODO comments 2013-08-06 00:37:36 +02:00
Marcin Kulik
7d5a544650 Generate thumbnails from JSON snapshot via Snapshot/SnaphotPresenter 2013-08-06 00:37:36 +02:00
Marcin Kulik
148bd47756 Fix feature spec for visiting asciicast page 2013-08-06 00:37:35 +02:00
Marcin Kulik
ddf0e57b39 Update SnapshotWorker to generate colorful snapshots 2013-08-06 00:37:35 +02:00
Marcin Kulik
59e31baa1b Process incoming asciicast with AsciicastCreator 2013-08-06 00:37:35 +02:00
Marcin Kulik
86a4662fe5 Abstract stdout_data and stdout_timing as a single value object 2013-08-06 00:37:34 +02:00
Marcin Kulik
caa6c52759 Rename stdout to stdout_data, stdin to stdin_data 2013-08-06 00:37:34 +02:00
Marcin Kulik
55fe325ec4 Add Bzip2Uploader for uploading, retrieving and decompressing bzip2 files 2013-08-06 00:37:34 +02:00
Marcin Kulik
85f93a4490 Add spec for AsciicastSnapshotter 2013-08-06 00:37:33 +02:00
Marcin Kulik
1be93cac63 Use shortcut for #to_html stub on SnapshotPresenter 2013-08-06 00:37:33 +02:00
Marcin Kulik
56a2bb2378 Fix Snapshot#crop to not burn when height > line count 2013-08-06 00:37:33 +02:00
Marcin Kulik
d93ac84c21 Refactor AsciicastDecorator#thumbnail to render colorful thumbnail 2013-08-06 00:37:33 +02:00
Marcin Kulik
86f728364c Add Brush model 2013-08-06 00:37:32 +02:00
Marcin Kulik
e947524533 Add a simple model representing a terminal snapshot 2013-08-06 00:37:32 +02:00
Marcin Kulik
8daf2d0f7f Serialize Snapshot with Snapshot::Serializer 2013-08-06 00:37:32 +02:00
Marcin Kulik
a10a447c53 Make the snapshots the hashes 2013-08-06 00:37:32 +02:00
Marcin Kulik
9ef766f16b Don't require rspec/autorun in spec_helper
This is not really needed and conflicts with zeus
2013-08-06 00:37:31 +02:00
Marcin Kulik
50c3a7bca5 Remove the test that validates asciicast factory 2013-08-06 00:37:31 +02:00
Marcin Kulik
0b9ae12feb Use nice matcher for sidekiq job enqueues 2013-07-05 21:10:04 +02:00
Marcin Kulik
c5509c60b6 Update tests for Sidekiq 2013-07-05 19:50:42 +02:00
Marcin Kulik
2d6b60e027 Fix AsciicastDecorator#embed_script 2013-06-13 22:58:47 +02:00
Marcin Kulik
0f99198a1a Add spec for asciicasts#show as js 2013-06-13 22:41:06 +02:00
Marcin Kulik
df6bed3541 Merge branch 'master' into embed 2013-06-13 22:40:17 +02:00
Marcin Kulik
8a52605266 Add spec for AsciicastDecorator#embed_script 2013-06-13 22:39:34 +02:00
Marcin Kulik
013eade63c Count view only once in the same browser 2013-06-13 22:26:27 +02:00
Marcin Kulik
847f8a4a3a Run specs in random order 2013-06-06 17:06:02 +02:00
Marcin Kulik
fbbd182d39 Keep the lines < 80 chars long 2013-05-30 12:03:08 +02:00
Marcin Kulik
078b04e3a1 Fix asciicast page when its author has other asciicasts 2013-05-28 11:13:01 +02:00
Marcin Kulik
4c5c0c7d0e Fix logging in after draper upgrade 2013-05-28 11:13:01 +02:00
Marcin Kulik
634d0d5aec Rename expect_browse_section to expect_browse_links 2013-05-28 11:13:01 +02:00
Marcin Kulik
7659fe722e Fix UsersController#show 2013-05-28 11:13:01 +02:00
Marcin Kulik
3e2bc439a0 Make sure docs pages are fine 2013-05-28 11:13:01 +02:00
Marcin Kulik
61ac829715 Add missing feature specs 2013-05-28 11:13:01 +02:00
Marcin Kulik
f5a91c680b Fix draper vs kaminari issue 2013-05-28 11:13:00 +02:00
Marcin Kulik
fcc39cc1cd Inject factory_girl create/build methods into example groups 2013-05-28 11:13:00 +02:00
Marcin Kulik
6813755280 Use poltergeist as js driver for capybara 2013-05-28 11:13:00 +02:00
Marcin Kulik
f4c9122f74 Clean db before whole suite 2013-05-28 11:13:00 +02:00
Marcin Kulik
dda849a6a6 Generate coverage only when requested 2013-05-28 11:13:00 +02:00
Marcin Kulik
829d476495 Shorter Darwin-like uname 2012-12-11 00:58:45 +01:00
Marcin Kulik
b284781620 Cover all scenatios in asciicasts controller specs 2012-12-09 21:25:45 +01:00
Marcin Kulik
4a9036a9d9 Cover unauthenticated path in user_token controller spec 2012-12-09 21:24:57 +01:00
Marcin Kulik
b4095bd372 Use truncation cleaning strategy only for js tagged specs 2012-12-09 16:27:36 +01:00
Marcin Kulik
c0faca04f0 Namespace ControllerMacros module 2012-12-09 16:27:12 +01:00
Marcin Kulik
a6c06a3ce7 More AsciicastDecorator specs 2012-12-09 16:15:17 +01:00
Marcin Kulik
e236584458 Add explicit routing in ApplicationController spec 2012-12-01 21:31:59 +01:00
Marcin Kulik
edca2027ce Fix AsciicastsController#destroy spec 2012-12-01 20:38:22 +01:00
Marcin Kulik
26923b64a5 Do not use set_current_view_context for decorator specs 2012-12-01 20:06:33 +01:00
Marcin Kulik
92dde22afe Use proper verb in SessionsController specs 2012-12-01 19:18:34 +01:00
Marcin Kulik
d0e16853e0 Pass required action params in SessionsController spec 2012-12-01 19:06:20 +01:00
Marcin Kulik
67a182d6ca Use new FactoryGirl syntax exclusively 2012-12-01 18:45:06 +01:00
Marcin Kulik
dd59b7db32 Update AnsiInterpreter spec to reflect interface change 2012-12-01 16:15:00 +01:00
Marcin Kulik
243bffee82 Additional AnsiInterpreter specs 2012-11-29 18:44:42 +01:00
Marcin Kulik
318fa52d94 Update Brush specs 2012-11-29 18:44:42 +01:00
Marcin Kulik
70b1f27234 "Reverse video" support 2012-11-29 18:44:42 +01:00
Marcin Kulik
454228bc28 More specs for Brush 2012-11-29 18:44:42 +01:00
Marcin Kulik
78ecdcbe76 Remove old obsolete specs 2012-11-29 18:44:42 +01:00
Marcin Kulik
d95da9635a Update AnsiInterpreter specs to handle new implementation 2012-11-29 18:44:41 +01:00
Marcin Kulik
c201c510e7 Move sgr_interpreter_spec to vt dir 2012-11-29 18:44:41 +01:00
Marcin Kulik
2e06e9d39d More specs for Brush 2012-11-29 18:44:41 +01:00
Marcin Kulik
fa9d2637a8 Proper specs for SgrInterpreter 2012-11-29 18:44:41 +01:00
Marcin Kulik
1aad013bb3 jasmine config 2012-11-29 18:44:41 +01:00
Marcin Kulik
ab387e6fdf Use jasmine-rails and jasmine-headless-webkit for headless JS testing 2012-11-29 18:44:41 +01:00
Marcin Kulik
70af02102e 7 more full playback tests 2012-11-22 00:42:21 +01:00
Marcin Kulik
f39dc918f2 Use longer wait time for capybara in playback test 2012-11-22 00:06:22 +01:00
Marcin Kulik
a96c5e381b Move test helper methods inside the describe block 2012-11-21 23:53:48 +01:00
Marcin Kulik
92a09476e8 Check if playback succeeded in capybara test 2012-11-20 18:47:22 +01:00
Marcin Kulik
26a6979c8e Visit raw asciicast page 2012-11-19 23:15:43 +01:00
Marcin Kulik
a2ee3b1d10 Cut the lines 2012-11-19 00:37:25 +01:00
Marcin Kulik
0e535b4d43 Integration tests for player page 2012-11-19 00:19:42 +01:00
Marcin Kulik
db4c4a397c Return 'unknown' as os when uname is empty 2012-11-18 22:12:37 +01:00
Marcin Kulik
668f382a69 Fix specs 2012-07-29 19:43:03 +02:00
Marcin Kulik
785273707b Proper design, finally! 2012-07-25 20:24:20 +02:00
Marcin Kulik
a57d05597e Don't crash on comment for asciicast without user 2012-06-10 14:11:45 +02:00
Marcin Kulik
06e7314f23 Fix AsciicastsController spec 2012-06-10 14:04:19 +02:00
Marcin Kulik
347068e064 Tests adjustments for girl_friday 2012-06-07 17:57:26 +02:00
Marcin Kulik
3a7f462b13 Send email to asciicast author when someone comments 2012-04-12 15:49:20 +02:00
Marcin Kulik
0bb3e75fb6 No need for instance variables in CommentsController#create 2012-04-12 14:47:53 +02:00
Marcin Kulik
10b64e08b4 Pending 2012-04-09 23:53:38 +02:00
Marcin Kulik
4549592238 Use "method" naming for describe blocks in controller specs 2012-04-09 23:51:06 +02:00
Marcin Kulik
8398750aab Specs for StaticPagesController 2012-04-09 23:50:28 +02:00
Marcin Kulik
d6776ee261 Specs for asciicasts_controller 2012-04-09 23:44:10 +02:00
Marcin Kulik
648cf1140b Move all 404 handling to application_controller 2012-04-09 22:56:26 +02:00
Marcin Kulik
46d0a94dda Spec for Api::AsciicastsController#create 2012-04-09 22:46:38 +02:00
Marcin Kulik
db3980315a Decoratos group for simplecov 2012-04-09 20:07:34 +02:00
Marcin Kulik
35817e72d4 Spec for Asciicast#meta= 2012-04-09 20:04:58 +02:00
Marcin Kulik
c0e386ebc2 Simplecov 2012-04-09 18:23:28 +02:00
Marcin Kulik
9ddd44abb5 Move comment specs as comment decorator specs 2012-04-09 18:22:46 +02:00
Marcin Kulik
e26875f68a Update CommentsController spec 2012-04-09 17:06:41 +02:00
Marcin Kulik
c4b5b16e6f Merge branch 'likes'
* likes:
  Data model for "Like"

Conflicts:
	app/models/user.rb
	db/schema.rb
2012-04-09 17:03:50 +02:00
Marcin Kulik
dccca52c26 Update specs 2012-04-09 15:56:26 +02:00
Marcin Kulik
98d80ae1fd More specs for home controller 2012-04-07 11:13:43 +02:00
Marcin Kulik
936dac6baa Markdown in comments 2012-04-06 23:46:44 +02:00
Marcin Kulik
27219f48b7 Thumbnail generation in Sidekiq worker 2012-04-06 20:53:04 +02:00
Marcin Kulik
0cbd732980 Data model for "Like" 2012-04-06 14:06:40 +02:00
Marcin Kulik
e425441c05 Use new factory_girl syntax 2012-03-18 12:07:01 +01:00
Marcin Kulik
0455aeafb7 Fix code style issues in specs 2012-03-13 22:18:13 +01:00
Marcin Kulik
61b3890a3d Merge remote-tracking branch 'origin/unique-nickname'
* origin/unique-nickname:
  Keep sensitive signup data in session
  Add users factory back
  rm users factories
  Add view spec for users#new
  Add specs to user#create
  Validate nickname uniquness

Conflicts:
	Gemfile
	Gemfile.lock
2012-03-10 18:30:33 +01:00
Micha Wrobel
d6273d4259 Keep sensitive signup data in session 2012-03-10 14:58:10 +01:00
Micha Wrobel
ffb88b39ce Add users factory back 2012-03-10 14:57:53 +01:00
Micha Wrobel
43758ede64 rm users factories 2012-03-10 14:56:48 +01:00
Marcin Kulik
3f798ab7aa Check code style with cane and tailor 2012-03-08 15:00:10 +01:00
Marcin Kulik
a3d12d4a84 Fix typo in filename 2012-03-08 15:00:00 +01:00
Micha Wrobel
7a142927d3 Add view spec for users#new 2012-03-06 23:18:15 +01:00
Micha Wrobel
6b40d9dbc8 Add specs to user#create 2012-03-06 23:04:35 +01:00
Micha Wrobel
fc53b71ee2 Validate nickname uniquness 2012-03-06 22:39:16 +01:00
Marcin Kulik
9e0a6acf55 Spec for #redirect_back_or_to 2012-03-06 22:03:12 +01:00
Marcin Kulik
8216781067 Use store_location in Unauthorized handler 2012-03-06 21:29:07 +01:00
Marcin Kulik
a0041abed1 store_location / get_stored_location 2012-03-06 21:28:32 +01:00
Marcin Kulik
80df89ec84 Fix typo 2012-03-06 21:27:17 +01:00
Marcin Kulik
98d5285a23 Require auth in UserTokensController (closes #53) 2012-03-06 19:51:40 +01:00
Marcin Kulik
16d11a1249 Redirect to profile page after claiming (closes #51) 2012-03-06 19:44:27 +01:00
Marcin Kulik
11a8c66922 Remove empty helper spec files 2012-03-06 19:22:27 +01:00
Marcin Kulik
4041b31284 Update usage of FactoryGirl to new syntax 2012-03-06 19:09:15 +01:00
Marcin Kulik
51dfa8474f Profile paths: ~sickill 2012-03-04 23:07:45 +01:00