2016-03-19 12:13:47 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								require  'rails_helper' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								RSpec . describe  UpdateRemoteProfileService  do 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-08 13:26:03 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
								
									
								 
							
							
								  let ( :xml )  {  File . read ( File . join ( Rails . root ,  'spec' ,  'fixtures' ,  'push' ,  'feed.atom' ) )  } 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-22 21:05:23 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 12:13:47 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								  subject  {  UpdateRemoteProfileService . new  } 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-22 21:05:23 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								  before  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    stub_request ( :get ,  'https://quitter.no/avatar/7477-300-20160211190340.png' ) . to_return ( request_fixture ( 'avatar.txt' ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								  context  'with updated details'  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    let ( :remote_account )  {  Fabricate ( :account ,  username :  'bob' ,  domain :  'example.com' )  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    before  do 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-26 15:12:57 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
								
									
								 
							
							
								      subject . call ( xml ,  remote_account ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-22 21:05:23 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
								
									
								 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    it  'downloads new avatar'  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								      expect ( a_request ( :get ,  'https://quitter.no/avatar/7477-300-20160211190340.png' ) ) . to  have_been_made 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    it  'sets the avatar remote url'  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								      expect ( remote_account . reload . avatar_remote_url ) . to  eq  'https://quitter.no/avatar/7477-300-20160211190340.png' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    it  'sets display name'  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
										 
									
								 
							
							
								      expect ( remote_account . reload . display_name ) . to  eq  'D I G I T A L   C A T  ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    it  'sets note'  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
										 
									
								 
							
							
								      expect ( remote_account . reload . note ) . to  eq  'Software engineer, free time musician and D I G I T A L   S P O R T S   enthusiast. Likes cats. Warning: May contain memes' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								  context  'with unchanged details'  do 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-26 15:12:57 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
								
									
										 
									
								 
							
							
								    let ( :remote_account )  {  Fabricate ( :account ,  username :  'bob' ,  domain :  'example.com' ,  display_name :  'D I G I T A L   C A T  ' ,  note :  'Software engineer, free time musician and D I G I T A L   S P O R T S   enthusiast. Likes cats. Warning: May contain memes' ,  avatar_remote_url :  'https://quitter.no/avatar/7477-300-20160211190340.png' )  } 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-22 21:05:23 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    before  do 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-26 15:12:57 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
								
									
								 
							
							
								      subject . call ( xml ,  remote_account ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-22 21:05:23 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
								
									
								 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    it  'does not re-download avatar'  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								      expect ( a_request ( :get ,  'https://quitter.no/avatar/7477-300-20160211190340.png' ) ) . to  have_been_made . once 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    it  'sets the avatar remote url'  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								      expect ( remote_account . reload . avatar_remote_url ) . to  eq  'https://quitter.no/avatar/7477-300-20160211190340.png' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    it  'sets display name'  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
										 
									
								 
							
							
								      expect ( remote_account . reload . display_name ) . to  eq  'D I G I T A L   C A T  ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    it  'sets note'  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
										 
									
								 
							
							
								      expect ( remote_account . reload . note ) . to  eq  'Software engineer, free time musician and D I G I T A L   S P O R T S   enthusiast. Likes cats. Warning: May contain memes' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								  end 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 12:13:47 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
								
									
								 
							
							
								end