Fixing atom feeds for accounts, adding tests that would catch such bugs in future
This commit is contained in:
		@@ -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)
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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 }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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 }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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 }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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) }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user