Merge tag 'v3.0.1' into hometown-dev
This commit is contained in:
		@ -126,8 +126,8 @@ RSpec.describe Account, type: :model do
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'sets default avatar, header, avatar_remote_url, and header_remote_url' do
 | 
			
		||||
        expect(account.avatar_remote_url).to eq ''
 | 
			
		||||
        expect(account.header_remote_url).to eq ''
 | 
			
		||||
        expect(account.avatar_remote_url).to eq 'https://remote.test/invalid_avatar'
 | 
			
		||||
        expect(account.header_remote_url).to eq expectation.header_remote_url
 | 
			
		||||
        expect(account.avatar_file_name).to  eq nil
 | 
			
		||||
        expect(account.header_file_name).to  eq nil
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,8 @@ RSpec.describe Remotable do
 | 
			
		||||
 | 
			
		||||
    def hoge=(arg); end
 | 
			
		||||
 | 
			
		||||
    def hoge_file_name; end
 | 
			
		||||
 | 
			
		||||
    def hoge_file_name=(arg); end
 | 
			
		||||
 | 
			
		||||
    def has_attribute?(arg); end
 | 
			
		||||
@ -109,12 +111,21 @@ RSpec.describe Remotable do
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      context 'foo[attribute_name] == url' do
 | 
			
		||||
        it 'makes no request' do
 | 
			
		||||
        it 'makes no request if file is saved' do
 | 
			
		||||
          allow(foo).to receive(:[]).with(attribute_name).and_return(url)
 | 
			
		||||
          allow(foo).to receive(:hoge_file_name).and_return('foo.jpg')
 | 
			
		||||
 | 
			
		||||
          foo.hoge_remote_url = url
 | 
			
		||||
          expect(request).not_to have_been_requested
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        it 'makes request if file is not saved' do
 | 
			
		||||
          allow(foo).to receive(:[]).with(attribute_name).and_return(url)
 | 
			
		||||
          allow(foo).to receive(:hoge_file_name).and_return(nil)
 | 
			
		||||
 | 
			
		||||
          foo.hoge_remote_url = url
 | 
			
		||||
          expect(request).to have_been_requested
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      context "scheme is https, parsed_url.host isn't empty, and foo[attribute_name] != url" do
 | 
			
		||||
 | 
			
		||||
@ -34,11 +34,10 @@ RSpec.describe HomeFeed, type: :model do
 | 
			
		||||
        Redis.current.set("account:#{account.id}:regeneration", true)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'gets statuses with ids in the range from database' do
 | 
			
		||||
      it 'returns nothing' do
 | 
			
		||||
        results = subject.get(3)
 | 
			
		||||
 | 
			
		||||
        expect(results.map(&:id)).to eq [10, 3, 2]
 | 
			
		||||
        expect(results.first.attributes.keys).to include('id', 'updated_at')
 | 
			
		||||
        expect(results.map(&:id)).to eq []
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@ -296,49 +296,6 @@ RSpec.describe Status, type: :model do
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  describe '.as_home_timeline' do
 | 
			
		||||
    let(:account) { Fabricate(:account) }
 | 
			
		||||
    let(:followed) { Fabricate(:account) }
 | 
			
		||||
    let(:not_followed) { Fabricate(:account) }
 | 
			
		||||
 | 
			
		||||
    before do
 | 
			
		||||
      Fabricate(:follow, account: account, target_account: followed)
 | 
			
		||||
 | 
			
		||||
      @self_status = Fabricate(:status, account: account, visibility: :public)
 | 
			
		||||
      @self_direct_status = Fabricate(:status, account: account, visibility: :direct)
 | 
			
		||||
      @followed_status = Fabricate(:status, account: followed, visibility: :public)
 | 
			
		||||
      @followed_direct_status = Fabricate(:status, account: followed, visibility: :direct)
 | 
			
		||||
      @not_followed_status = Fabricate(:status, account: not_followed, visibility: :public)
 | 
			
		||||
 | 
			
		||||
      @results = Status.as_home_timeline(account)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'includes statuses from self' do
 | 
			
		||||
      expect(@results).to include(@self_status)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'does not include direct statuses from self' do
 | 
			
		||||
      expect(@results).to_not include(@self_direct_status)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'includes statuses from followed' do
 | 
			
		||||
      expect(@results).to include(@followed_status)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'does not include direct statuses mentioning recipient from followed' do
 | 
			
		||||
      Fabricate(:mention, account: account, status: @followed_direct_status)
 | 
			
		||||
      expect(@results).to_not include(@followed_direct_status)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'does not include direct statuses not mentioning recipient from followed' do
 | 
			
		||||
      expect(@results).not_to include(@followed_direct_status)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'does not include statuses from non-followed' do
 | 
			
		||||
      expect(@results).not_to include(@not_followed_status)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  describe '.as_public_timeline' do
 | 
			
		||||
    it 'only includes statuses with public visibility' do
 | 
			
		||||
      public_status = Fabricate(:status, visibility: :public)
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user