| 
									
										
										
										
											2016-02-25 00:17:01 +01:00
										 |  |  | require 'rails_helper' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | RSpec.describe ReblogService do | 
					
						
							| 
									
										
										
										
											2016-02-28 21:22:56 +01:00
										 |  |  |   let(:alice)  { Fabricate(:account, username: 'alice') } | 
					
						
							|  |  |  |   let(:bob)    { Fabricate(:account, username: 'bob', domain: 'example.com', salmon_url: 'http://salmon.example.com') } | 
					
						
							|  |  |  |   let(:status) { Fabricate(:status, account: bob, uri: 'tag:example.com;something:something') } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   subject { ReblogService.new } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   before do | 
					
						
							| 
									
										
										
										
											2016-02-29 20:06:39 +01:00
										 |  |  |     Rails.configuration.x.hub_url = 'http://hub.example.com' | 
					
						
							| 
									
										
										
										
											2016-02-28 21:22:56 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     stub_request(:post, 'http://hub.example.com') | 
					
						
							|  |  |  |     stub_request(:post, 'http://salmon.example.com') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     subject.(alice, status) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it 'creates a reblog' do | 
					
						
							|  |  |  |     expect(status.reblogs.count).to eq 1
 | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it 'pings PubSubHubbub hubs' do | 
					
						
							|  |  |  |     expect(a_request(:post, 'http://hub.example.com')).to have_been_made | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it 'sends a Salmon slap for a remote reblog' do | 
					
						
							|  |  |  |     expect(a_request(:post, 'http://salmon.example.com')).to have_been_made | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-02-25 00:17:01 +01:00
										 |  |  | end |