forked from hotsh/rstat.us
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixes Issue hotsh#698, the [email protected] case. Check for exis…
…ting users when domain entered is the current one.
- Loading branch information
1 parent
62d0780
commit c4eba18
Showing
5 changed files
with
67 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
require 'require_relative' if RUBY_VERSION[0,3] == '1.8' | ||
require_relative 'acceptance_helper' | ||
require 'uri' | ||
|
||
describe "following remote users" do | ||
include AcceptanceHelper | ||
|
@@ -56,6 +57,16 @@ def follow_remote_user!(webfinger_id = "[email protected]") | |
assert has_content? "You're already following steveklabnik." | ||
end | ||
end | ||
|
||
it "follows users on the current node even if you try to follow them like remote users" do | ||
local_user = Fabricate(:user) | ||
|
||
follow_remote_user!("#{local_user.username}@example.com") | ||
|
||
within flash do | ||
assert has_content? "Now following #{local_user.username}." | ||
end | ||
end | ||
end | ||
|
||
describe "failure" do | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,8 +10,6 @@ | |
let(:existing_feed) { mock } | ||
let(:new_feed) { mock } | ||
|
||
subject { service.find_or_create! } | ||
|
||
describe "when the feed can be found by ID" do | ||
# the BSON ID of user '[email protected]' (follow me!) | ||
let(:target_feed) { "505cc1beb4f2cd000200022c" } | ||
|
@@ -20,9 +18,39 @@ | |
service.stubs(:find_feed_by_id).returns(existing_feed) | ||
end | ||
|
||
it "the feed is returned" do | ||
it "returns the feed" do | ||
service.find_or_create!.must_equal existing_feed | ||
subject | ||
end | ||
end | ||
|
||
describe "when the feed has a local URL" do | ||
let(:target_feed) { "[email protected]" } | ||
let(:service) { FeedService.new(target_feed, "http://example.com/") } | ||
let(:user) { mock } | ||
let(:author) { mock } | ||
let(:feed) { mock } | ||
|
||
describe "when the feed exists" do | ||
before do | ||
User.stubs(:find_by_case_insensitive_username).returns(user) | ||
user.stubs(:author).returns(author) | ||
author.stubs(:feed).returns(feed) | ||
end | ||
|
||
it "returns the feed" do | ||
service.find_or_create!.must_equal feed | ||
end | ||
end | ||
|
||
describe "when the feed does not exist" do | ||
before do | ||
User.stubs(:find_by_case_insensitive_username).returns(nil) | ||
service.stubs(:find_feed_by_remote_url).returns(existing_feed) | ||
end | ||
|
||
it "moves on to trying to find by remote url" do | ||
service.find_or_create!.must_equal existing_feed | ||
end | ||
end | ||
end | ||
|
||
|
@@ -32,12 +60,12 @@ | |
|
||
before do | ||
service.stubs(:find_feed_by_id).returns nil | ||
service.stubs(:find_feed_by_username).returns nil | ||
service.stubs(:find_feed_by_remote_url).returns(existing_feed) | ||
end | ||
|
||
it "the feed is returned" do | ||
it "returns the feed" do | ||
service.find_or_create!.must_equal existing_feed | ||
subject | ||
end | ||
end | ||
|
||
|
@@ -46,15 +74,14 @@ | |
|
||
before do | ||
service.stubs(:find_feed_by_id).returns nil | ||
service.stubs(:find_feed_by_username).returns nil | ||
service.stubs(:find_feed_by_remote_url).returns nil | ||
service.stubs(:create_feed_from_feed_data).returns(new_feed) | ||
end | ||
|
||
it "must be created instead" do | ||
it "creates the feed" do | ||
service.find_or_create!.must_equal new_feed | ||
subject | ||
end | ||
end | ||
|
||
end | ||
end |