about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-09-08 00:33:07 +0200
committerEugen Rochko <eugen@zeonfederated.com>2016-09-08 00:33:07 +0200
commit87576e1ab1a4c02f8847e8264e6a62abd36df793 (patch)
tree90f8902673de6e6fc87c5eda43fc4f5e354479c3
parent499beb4484031703f029511787163e3a5bb6e47a (diff)
Fixing atom feeds for accounts, adding tests that would catch such bugs in future
-rw-r--r--app/helpers/atom_builder_helper.rb2
-rw-r--r--spec/controllers/accounts_controller_spec.rb32
-rw-r--r--spec/controllers/api/accounts/lookup_controller_spec.rb2
-rw-r--r--spec/controllers/api/accounts_controller_spec.rb2
-rw-r--r--spec/controllers/api/follows_controller_spec.rb2
-rw-r--r--spec/controllers/api/salmon_controller_spec.rb2
-rw-r--r--spec/controllers/api/subscriptions_controller_spec.rb2
-rw-r--r--spec/controllers/stream_entries_controller_spec.rb2
-rw-r--r--spec/controllers/xrd_controller_spec.rb2
9 files changed, 41 insertions, 7 deletions
diff --git a/app/helpers/atom_builder_helper.rb b/app/helpers/atom_builder_helper.rb
index ea54b9fdb..99b3414cd 100644
--- a/app/helpers/atom_builder_helper.rb
+++ b/app/helpers/atom_builder_helper.rb
@@ -126,7 +126,7 @@ module AtomBuilderHelper
   end
 
   def link_enclosure(xml, media)
-    xml.link(rel: 'enclosure', href: full_asset_url(media.file.url), type: media.file_content_type, length: media.file_size)
+    xml.link(rel: 'enclosure', href: full_asset_url(media.file.url), type: media.file_content_type, length: media.file_file_size)
   end
 
   def link_avatar(xml, account)
diff --git a/spec/controllers/accounts_controller_spec.rb b/spec/controllers/accounts_controller_spec.rb
index c5abe63a8..322b26f0b 100644
--- a/spec/controllers/accounts_controller_spec.rb
+++ b/spec/controllers/accounts_controller_spec.rb
@@ -1,17 +1,37 @@
 require 'rails_helper'
 
 RSpec.describe AccountsController, type: :controller do
+  render_views
+
   let(:alice)  { Fabricate(:account, username: 'alice') }
 
   describe 'GET #show' do
-    it 'returns http success' do
-      get :show, params: { username: alice.username }
-      expect(response).to have_http_status(:success)
+    before do
+      status1 = Status.create!(account: alice, text: 'Hello world')
+      status2 = Status.create!(account: alice, text: 'Boop', thread: status1)
+      status3 = Status.create!(account: alice, text: 'Picture!')
+      status3.media_attachments.create!(account: alice, file: fixture_file_upload('files/attachment.jpg', 'image/jpeg'))
+      status4 = Status.create!(account: alice, text: 'Mentioning @alice')
     end
 
-    it 'returns http success with Atom' do
-      get :show, params: { username: alice.username }, format: 'atom'
-      expect(response).to have_http_status(:success)
+    context 'atom' do
+      before do
+        get :show, params: { username: alice.username }, format: 'atom'
+      end
+
+      it 'returns http success with Atom' do
+        expect(response).to have_http_status(:success)
+      end
+    end
+
+    context 'html' do
+      before do
+        get :show, params: { username: alice.username }
+      end
+
+      it 'returns http success' do
+        expect(response).to have_http_status(:success)
+      end
     end
   end
 
diff --git a/spec/controllers/api/accounts/lookup_controller_spec.rb b/spec/controllers/api/accounts/lookup_controller_spec.rb
index 043df8c86..3f590b82f 100644
--- a/spec/controllers/api/accounts/lookup_controller_spec.rb
+++ b/spec/controllers/api/accounts/lookup_controller_spec.rb
@@ -1,6 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe Api::Accounts::LookupController, type: :controller do
+  render_views
+
   let(:user)  { Fabricate(:user, account: Fabricate(:account, username: 'alice')) }
   let(:token) { double acceptable?: true, resource_owner_id: user.id }
 
diff --git a/spec/controllers/api/accounts_controller_spec.rb b/spec/controllers/api/accounts_controller_spec.rb
index dd060ddaa..d8b26f815 100644
--- a/spec/controllers/api/accounts_controller_spec.rb
+++ b/spec/controllers/api/accounts_controller_spec.rb
@@ -1,6 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe Api::AccountsController, type: :controller do
+  render_views
+
   let(:user)  { Fabricate(:user, account: Fabricate(:account, username: 'alice')) }
   let(:token) { double acceptable?: true, resource_owner_id: user.id }
 
diff --git a/spec/controllers/api/follows_controller_spec.rb b/spec/controllers/api/follows_controller_spec.rb
index 286465251..f1775dfbc 100644
--- a/spec/controllers/api/follows_controller_spec.rb
+++ b/spec/controllers/api/follows_controller_spec.rb
@@ -1,6 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe Api::FollowsController, type: :controller do
+  render_views
+
   let(:user)  { Fabricate(:user, account: Fabricate(:account, username: 'alice')) }
   let(:token) { double acceptable?: true, resource_owner_id: user.id }
 
diff --git a/spec/controllers/api/salmon_controller_spec.rb b/spec/controllers/api/salmon_controller_spec.rb
index 785e1723b..6897caeeb 100644
--- a/spec/controllers/api/salmon_controller_spec.rb
+++ b/spec/controllers/api/salmon_controller_spec.rb
@@ -1,6 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe Api::SalmonController, type: :controller do
+  render_views
+
   let(:account) { Fabricate(:user, account: Fabricate(:account, username: 'catsrgr8')).account }
 
   before do
diff --git a/spec/controllers/api/subscriptions_controller_spec.rb b/spec/controllers/api/subscriptions_controller_spec.rb
index e13ec4939..a0b0b4413 100644
--- a/spec/controllers/api/subscriptions_controller_spec.rb
+++ b/spec/controllers/api/subscriptions_controller_spec.rb
@@ -1,6 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe Api::SubscriptionsController, type: :controller do
+  render_views
+
   let(:account) { Fabricate(:account, username: 'gargron', domain: 'quitter.no', verify_token: '123', remote_url: 'topic_url', secret: 'abc') }
 
   describe 'GET #show' do
diff --git a/spec/controllers/stream_entries_controller_spec.rb b/spec/controllers/stream_entries_controller_spec.rb
index 56b636ab4..6f270af9d 100644
--- a/spec/controllers/stream_entries_controller_spec.rb
+++ b/spec/controllers/stream_entries_controller_spec.rb
@@ -1,6 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe StreamEntriesController, type: :controller do
+  render_views
+
   let(:alice)  { Fabricate(:account, username: 'alice') }
   let(:status) { Fabricate(:status, account: alice) }
 
diff --git a/spec/controllers/xrd_controller_spec.rb b/spec/controllers/xrd_controller_spec.rb
index 9152a714b..eeaaaa786 100644
--- a/spec/controllers/xrd_controller_spec.rb
+++ b/spec/controllers/xrd_controller_spec.rb
@@ -1,6 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe XrdController, type: :controller do
+  render_views
+
   describe 'GET #host_meta' do
     it 'returns http success' do
       get :host_meta