Commit a980d848 by Arjun Singh

Comment out observer-related stuff.

parent f8e3aadb
require 'spec_helper' require 'spec_helper'
describe "app" do # Commenting out until notifications are used again.
describe "subscriptions and notifications" do #
before(:each) { init_with_subscriptions } #describe "app" do
describe "GET /api/v1/users/:user_id/notifications" do # describe "subscriptions and notifications" do
it "get all notifications on the subscribed comment threads for the user" do # before(:each) { init_with_subscriptions }
user = User.find("1") # describe "GET /api/v1/users/:user_id/notifications" do
get "/api/v1/users/#{user.external_id}/notifications" # it "get all notifications on the subscribed comment threads for the user" do
last_response.should be_ok # user = User.find("1")
notifications = parse last_response.body # get "/api/v1/users/#{user.external_id}/notifications"
so_easy = Comment.all.select{|c| c.body == "this problem is so easy"}.first # last_response.should be_ok
not_for_me_neither = Comment.all.select{|c| c.body == "not for me neither!"}.first # notifications = parse last_response.body
notification_so_easy = notifications.select{|f| f["notification_type"] == "post_reply" and f["info"]["comment_id"] == so_easy.id.to_s}.first # so_easy = Comment.all.select{|c| c.body == "this problem is so easy"}.first
notification_so_easy.should_not be_nil # not_for_me_neither = Comment.all.select{|c| c.body == "not for me neither!"}.first
notification_not_for_me_neither = notifications.select{|f| f["notification_type"] == "post_reply" and f["info"]["comment_id"] == not_for_me_neither.id.to_s}.first # notification_so_easy = notifications.select{|f| f["notification_type"] == "post_reply" and f["info"]["comment_id"] == so_easy.id.to_s}.first
notification_not_for_me_neither.should_not be_nil # notification_so_easy.should_not be_nil
end # notification_not_for_me_neither = notifications.select{|f| f["notification_type"] == "post_reply" and f["info"]["comment_id"] == not_for_me_neither.id.to_s}.first
it "returns error if user does not exist" do #TODO may change later if have user service # notification_not_for_me_neither.should_not be_nil
get "/api/v1/users/does_not_exist/notifications" # end
last_response.status.should == 400 # it "returns error if user does not exist" do #TODO may change later if have user service
end # get "/api/v1/users/does_not_exist/notifications"
it "get all notifications on the subscribed commentable for the user" do # last_response.status.should == 400
user = User.find("1") # end
get "/api/v1/users/#{user.external_id}/notifications" # it "get all notifications on the subscribed commentable for the user" do
last_response.should be_ok # user = User.find("1")
notifications = parse last_response.body # get "/api/v1/users/#{user.external_id}/notifications"
notifications.select{|f| f["notification_type"] == "post_topic"}.length.should == 1 # last_response.should be_ok
problem_wrong = notifications.select{|f| f["notification_type"] == "post_topic"}.first # notifications = parse last_response.body
problem_wrong["info"]["thread_title"].should == "This problem is wrong" # notifications.select{|f| f["notification_type"] == "post_topic"}.length.should == 1
end # problem_wrong = notifications.select{|f| f["notification_type"] == "post_topic"}.first
it "get all notifications on the followed user for the user" do # problem_wrong["info"]["thread_title"].should == "This problem is wrong"
user = User.find("2") # end
get "/api/v1/users/#{user.external_id}/notifications" # it "get all notifications on the followed user for the user" do
last_response.should be_ok # user = User.find("2")
notifications = parse last_response.body # get "/api/v1/users/#{user.external_id}/notifications"
notifications.select{|f| f["info"]["thread_title"] =~ /what to say/}.first.should_not be_nil # last_response.should be_ok
end # notifications = parse last_response.body
end # notifications.select{|f| f["info"]["thread_title"] =~ /what to say/}.first.should_not be_nil
describe "POST /api/v1/users/:user_id/subscriptions" do # end
it "follow user" do # end
user1 = User.find("1") # describe "POST /api/v1/users/:user_id/subscriptions" do
user2 = User.find("2") # it "follow user" do
post "/api/v1/users/#{user1.external_id}/subscriptions", source_type: "user", source_id: user2.external_id # user1 = User.find("1")
last_response.should be_ok # user2 = User.find("2")
User.find("2").followers.length.should == 1 # post "/api/v1/users/#{user1.external_id}/subscriptions", source_type: "user", source_id: user2.external_id
User.find("2").followers.should include user1 # last_response.should be_ok
end # User.find("2").followers.length.should == 1
it "does not follow the same user twice" do # User.find("2").followers.should include user1
user1 = User.find("1") # end
user2 = User.find("2") # it "does not follow the same user twice" do
post "/api/v1/users/#{user1.external_id}/subscriptions", source_type: "user", source_id: user2.external_id # user1 = User.find("1")
post "/api/v1/users/#{user1.external_id}/subscriptions", source_type: "user", source_id: user2.external_id # user2 = User.find("2")
last_response.should be_ok # post "/api/v1/users/#{user1.external_id}/subscriptions", source_type: "user", source_id: user2.external_id
User.find("2").followers.length.should == 1 # post "/api/v1/users/#{user1.external_id}/subscriptions", source_type: "user", source_id: user2.external_id
end # last_response.should be_ok
it "does not follow oneself" do # User.find("2").followers.length.should == 1
user = create_test_user(3) # end
post "/api/v1/users/#{user.external_id}/subscriptions", source_type: "user", source_id: user.external_id # it "does not follow oneself" do
last_response.status.should == 400 # user = create_test_user(3)
user.reload.followers.length.should == 0 # post "/api/v1/users/#{user.external_id}/subscriptions", source_type: "user", source_id: user.external_id
end # last_response.status.should == 400
it "unfollow user" do # user.reload.followers.length.should == 0
user1 = User.find("1") # end
user2 = User.find("2") # it "unfollow user" do
delete "/api/v1/users/#{user2.external_id}/subscriptions", source_type: "user", source_id: user1.external_id # user1 = User.find("1")
last_response.should be_ok # user2 = User.find("2")
User.find("1").followers.length.should == 0 # delete "/api/v1/users/#{user2.external_id}/subscriptions", source_type: "user", source_id: user1.external_id
end # last_response.should be_ok
it "respond ok when unfollowing user twice" do # User.find("1").followers.length.should == 0
user1 = User.find("1") # end
user2 = User.find("2") # it "respond ok when unfollowing user twice" do
delete "/api/v1/users/#{user2.external_id}/subscriptions", source_type: "user", source_id: user1.external_id # user1 = User.find("1")
delete "/api/v1/users/#{user2.external_id}/subscriptions", source_type: "user", source_id: user1.external_id # user2 = User.find("2")
last_response.should be_ok # delete "/api/v1/users/#{user2.external_id}/subscriptions", source_type: "user", source_id: user1.external_id
User.find("1").followers.length.should == 0 # delete "/api/v1/users/#{user2.external_id}/subscriptions", source_type: "user", source_id: user1.external_id
end # last_response.should be_ok
it "subscribe a commentable" do # User.find("1").followers.length.should == 0
user3 = create_test_user(3) # end
post "/api/v1/users/#{user3.external_id}/subscriptions", source_type: "other", source_id: "question_1" # it "subscribe a commentable" do
last_response.should be_ok # user3 = create_test_user(3)
Commentable.find("question_1").subscribers.length.should == 3 # post "/api/v1/users/#{user3.external_id}/subscriptions", source_type: "other", source_id: "question_1"
Commentable.find("question_1").subscribers.should include user3 # last_response.should be_ok
end # Commentable.find("question_1").subscribers.length.should == 3
it "unsubscribe a commentable" do # Commentable.find("question_1").subscribers.should include user3
user2 = User.find_by(external_id: "2") # end
delete "/api/v1/users/#{user2.external_id}/subscriptions", source_type: "other", source_id: "question_1" # it "unsubscribe a commentable" do
last_response.should be_ok # user2 = User.find_by(external_id: "2")
Commentable.find("question_1").subscribers.length.should == 1 # delete "/api/v1/users/#{user2.external_id}/subscriptions", source_type: "other", source_id: "question_1"
Commentable.find("question_1").subscribers.should_not include user2 # last_response.should be_ok
end # Commentable.find("question_1").subscribers.length.should == 1
it "subscribe a comment thread" do # Commentable.find("question_1").subscribers.should_not include user2
user1 = User.find_by(external_id: "1") # end
thread = CommentThread.where(body: "it is unsolvable").first # it "subscribe a comment thread" do
post "/api/v1/users/#{user1.external_id}/subscriptions", source_type: "thread", source_id: thread.id # user1 = User.find_by(external_id: "1")
last_response.should be_ok # thread = CommentThread.where(body: "it is unsolvable").first
thread = CommentThread.where(body: "it is unsolvable").first # post "/api/v1/users/#{user1.external_id}/subscriptions", source_type: "thread", source_id: thread.id
thread.subscribers.length.should == 2 # last_response.should be_ok
thread.subscribers.should include user1 # thread = CommentThread.where(body: "it is unsolvable").first
end # thread.subscribers.length.should == 2
it "unsubscribe a comment thread" do # thread.subscribers.should include user1
user2 = User.find_by(external_id: "2") # end
thread = CommentThread.where(body: "it is unsolvable").first # it "unsubscribe a comment thread" do
delete "/api/v1/users/#{user2.external_id}/subscriptions", source_type: "thread", source_id: thread.id # user2 = User.find_by(external_id: "2")
last_response.should be_ok # thread = CommentThread.where(body: "it is unsolvable").first
thread = CommentThread.where(body: "it is unsolvable").first # delete "/api/v1/users/#{user2.external_id}/subscriptions", source_type: "thread", source_id: thread.id
thread.subscribers.length.should == 0 # last_response.should be_ok
end # thread = CommentThread.where(body: "it is unsolvable").first
end # thread.subscribers.length.should == 0
end # end
end # end
# end
#end
require 'spec_helper' require 'spec_helper'
describe AtUserObserver do # Commenting out until notifications are used again.
before :each do #
@text = #describe AtUserObserver do
""" # before :each do
hi @tom, I have a question from @pi314 about the following code: # @text =
``` #"""
class A #hi @tom, I have a question from @pi314 about the following code:
def set_some_variable #```
@some_variable = 1 #class A
end # def set_some_variable
end # @some_variable = 1
``` # end
and also the following code #end
class A #```
def get_some_variable #and also the following code
@some_variable # class A
end # def get_some_variable
end # @some_variable
what is the 'at' symbol doing there? @dementrock # end
""" # end
User.delete_all #what is the 'at' symbol doing there? @dementrock
User.create!(external_id: "1", username: "tom", email: "tom@test.com") #"""
User.create!(external_id: "2", username: "pi314", email: "pi314@test.com") # User.delete_all
end # User.create!(external_id: "1", username: "tom", email: "tom@test.com")
# User.create!(external_id: "2", username: "pi314", email: "pi314@test.com")
describe "#get_marked_text(text)" do # end
it "returns marked at text" do #
converted = AtUserObserver.send :get_marked_text, @text # describe "#get_marked_text(text)" do
converted.should include "@tom_0" # it "returns marked at text" do
converted.should include "@pi314_1" # converted = AtUserObserver.send :get_marked_text, @text
converted.should include "@some_variable_2" # converted.should include "@tom_0"
converted.should include "@some_variable_3" # converted.should include "@pi314_1"
converted.should include "@dementrock_4" # converted.should include "@some_variable_2"
end # converted.should include "@some_variable_3"
end # converted.should include "@dementrock_4"
# end
describe "#get_valid_at_position_list(text)" do # end
it "returns the list of positions for the valid @ notifications, filtering out the ones in code blocks" do #
list = AtUserObserver.send :get_valid_at_position_list, @text # describe "#get_valid_at_position_list(text)" do
list.should include({ position: 0, username: "tom", user_id: "1" }) # it "returns the list of positions for the valid @ notifications, filtering out the ones in code blocks" do
list.should include({ position: 1, username: "pi314", user_id: "2" }) # list = AtUserObserver.send :get_valid_at_position_list, @text
list.length.should == 2 # list.should include({ position: 0, username: "tom", user_id: "1" })
end # list.should include({ position: 1, username: "pi314", user_id: "2" })
end # list.length.should == 2
end # end
# end
#end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment