about summary refs log tree commit diff
path: root/spec/services
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-03-05 12:50:59 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-03-05 12:50:59 +0100
commit3b4e04dc32eba0f5b1ac11e2db2edd7ca7351291 (patch)
tree23388ff4b32bb07b5e8d09b62ac06ed25436d6cf /spec/services
parent23d08c6749eb142b24f22045f643d0591af579ff (diff)
Fixing some bugs, adding pending test examples
Diffstat (limited to 'spec/services')
-rw-r--r--spec/services/fetch_feed_service_spec.rb5
-rw-r--r--spec/services/follow_remote_account_service_spec.rb9
-rw-r--r--spec/services/follow_service_spec.rb6
-rw-r--r--spec/services/post_status_service_spec.rb7
-rw-r--r--spec/services/process_feed_service_spec.rb5
-rw-r--r--spec/services/process_interaction_service_spec.rb12
-rw-r--r--spec/services/process_mentions_service_spec.rb19
-rw-r--r--spec/services/send_interaction_service_spec.rb4
-rw-r--r--spec/services/setup_local_account_service_spec.rb5
-rw-r--r--spec/services/unfollow_service_spec.rb5
10 files changed, 67 insertions, 10 deletions
diff --git a/spec/services/fetch_feed_service_spec.rb b/spec/services/fetch_feed_service_spec.rb
index c6a3d389b..a28333fe3 100644
--- a/spec/services/fetch_feed_service_spec.rb
+++ b/spec/services/fetch_feed_service_spec.rb
@@ -1,5 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe FetchFeedService do
-  pending
+  subject { FetchFeedService.new }
+
+  it 'fetches remote user\'s feed'
+  it 'processes the feed'
 end
diff --git a/spec/services/follow_remote_account_service_spec.rb b/spec/services/follow_remote_account_service_spec.rb
index fbe7e767a..27df76457 100644
--- a/spec/services/follow_remote_account_service_spec.rb
+++ b/spec/services/follow_remote_account_service_spec.rb
@@ -1,5 +1,12 @@
 require 'rails_helper'
 
 RSpec.describe FollowRemoteAccountService do
-  pending
+  subject { FollowRemoteAccountService.new }
+
+  it 'returns nil if no such user can be resolved via webfinger'
+  it 'returns nil if the domain does not have webfinger'
+  it 'returns nil if remote user does not offer a hub URL'
+  it 'returns an already existing remote account'
+  it 'returns a new remote account'
+  it 'fills the remote account with profile information'
 end
diff --git a/spec/services/follow_service_spec.rb b/spec/services/follow_service_spec.rb
index ba393f5ab..304e0cf71 100644
--- a/spec/services/follow_service_spec.rb
+++ b/spec/services/follow_service_spec.rb
@@ -1,5 +1,9 @@
 require 'rails_helper'
 
 RSpec.describe FollowService do
-  pending
+  subject { FollowService.new }
+
+  it 'creates a following relation'
+  it 'creates local account for remote user'
+  it 'sends follow to the remote user'
 end
diff --git a/spec/services/post_status_service_spec.rb b/spec/services/post_status_service_spec.rb
index 43d58719d..9ee4daf6f 100644
--- a/spec/services/post_status_service_spec.rb
+++ b/spec/services/post_status_service_spec.rb
@@ -1,5 +1,10 @@
 require 'rails_helper'
 
 RSpec.describe PostStatusService do
-  pending
+  subject { PostStatusService.new }
+
+  it 'creates a new status'
+  it 'creates a new response status'
+  it 'processes mentions'
+  it 'pings PuSH hubs'
 end
diff --git a/spec/services/process_feed_service_spec.rb b/spec/services/process_feed_service_spec.rb
index 087979ded..858053823 100644
--- a/spec/services/process_feed_service_spec.rb
+++ b/spec/services/process_feed_service_spec.rb
@@ -1,5 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe ProcessFeedService do
-  pending
+  subject { ProcessFeedService.new }
+
+  it 'updates remote user\'s account information'
+  it 'creates local copies of all notes and comments'
 end
diff --git a/spec/services/process_interaction_service_spec.rb b/spec/services/process_interaction_service_spec.rb
index 8624d0b0c..931815dc2 100644
--- a/spec/services/process_interaction_service_spec.rb
+++ b/spec/services/process_interaction_service_spec.rb
@@ -1,5 +1,15 @@
 require 'rails_helper'
 
 RSpec.describe ProcessInteractionService do
-  pending
+  subject { ProcessInteractionService.new }
+
+  it 'creates account for new remote user'
+  it 'updates account for existing remote user'
+  it 'ignores envelopes that do not address the local user'
+  it 'accepts a status that mentions the local user'
+  it 'accepts a status that is a reply to the local user\'s'
+  it 'accepts a favourite to a status by the local user'
+  it 'accepts a reblog of a status of the local user'
+  it 'accepts a follow of the local user'
+  it 'accepts an unfollow of the local user'
 end
diff --git a/spec/services/process_mentions_service_spec.rb b/spec/services/process_mentions_service_spec.rb
index ae86d17dc..984d13746 100644
--- a/spec/services/process_mentions_service_spec.rb
+++ b/spec/services/process_mentions_service_spec.rb
@@ -1,5 +1,22 @@
 require 'rails_helper'
 
 RSpec.describe ProcessMentionsService do
-  pending
+  let(:account)     { Fabricate(:account, username: 'alice') }
+  let(:remote_user) { Fabricate(:account, username: 'remote_user', domain: 'example.com', salmon_url: 'http://salmon.example.com') }
+  let(:status)      { Fabricate(:status, account: account, text: "Hello @#{remote_user.acct}") }
+
+  subject { ProcessMentionsService.new }
+
+  before do
+    stub_request(:post, remote_user.salmon_url)
+    subject.(status)
+  end
+
+  it 'creates a mention' do
+    expect(remote_user.mentions.where(status: status).count).to eq 1
+  end
+
+  it 'posts to remote user\'s Salmon end point' do
+    expect(a_request(:post, remote_user.salmon_url)).to have_been_made
+  end
 end
diff --git a/spec/services/send_interaction_service_spec.rb b/spec/services/send_interaction_service_spec.rb
index ae4ab01c5..ff08394b0 100644
--- a/spec/services/send_interaction_service_spec.rb
+++ b/spec/services/send_interaction_service_spec.rb
@@ -1,5 +1,7 @@
 require 'rails_helper'
 
 RSpec.describe SendInteractionService do
-  pending
+  subject { SendInteractionService.new }
+
+  it 'sends an XML envelope to the Salmon end point of remote user'
 end
diff --git a/spec/services/setup_local_account_service_spec.rb b/spec/services/setup_local_account_service_spec.rb
index 709f170b6..2e85fc4f5 100644
--- a/spec/services/setup_local_account_service_spec.rb
+++ b/spec/services/setup_local_account_service_spec.rb
@@ -1,5 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe SetupLocalAccountService do
-  pending
+  subject { SetupLocalAccountService.new }
+
+  it 'creates a user'
+  it 'creates an account for the user'
 end
diff --git a/spec/services/unfollow_service_spec.rb b/spec/services/unfollow_service_spec.rb
index 60121b675..58467ff00 100644
--- a/spec/services/unfollow_service_spec.rb
+++ b/spec/services/unfollow_service_spec.rb
@@ -1,5 +1,8 @@
 require 'rails_helper'
 
 RSpec.describe UnfollowService do
-  pending
+  subject { UnfollowService.new }
+
+  it 'destroys the following relation'
+  it 'sends remote interactionf or remote user'
 end