fixing tests in progress

This commit is contained in:
Brian Smith 2014-02-16 08:40:03 -05:00
parent 36287d0b5f
commit 5ba98b93ab
13 changed files with 97 additions and 82 deletions

View File

@ -1,6 +1,6 @@
alter table music_sessions_comments drop constraint music_sessions_comments_music_session_id_fkey; alter table music_sessions_comments drop constraint music_sessions_comments_music_session_id_fkey;
alter table music_sessions_comments add constraint ms_comments_ms_history_fkey foreign key (music_session_id) alter table music_sessions_comments add constraint ms_comments_ms_history_fkey foreign key (music_session_id)
references music_sessions_history(id) match simple references music_sessions_history(music_session_id) match simple
ON UPDATE NO ACTION ON DELETE CASCADE; ON UPDATE NO ACTION ON DELETE CASCADE;
alter table music_sessions_likers drop constraint music_sessions_likers_music_session_id_fkey; alter table music_sessions_likers drop constraint music_sessions_likers_music_session_id_fkey;

View File

@ -228,6 +228,10 @@ module JamRuby
return !administratively_created return !administratively_created
end end
def pending_friend_request?(user)
FriendRequest.where("((user_id='#{self.id}' AND friend_id='#{user.id}') OR (user_id='#{user.id}' AND friend_id='#{self.id}')) AND status is null").size > 0
end
def friends?(user) def friends?(user)
self.friends.exists?(user) self.friends.exists?(user)
end end

View File

@ -76,10 +76,12 @@ describe 'Band search' do
# refresh the order to ensure it works right # refresh the order to ensure it works right
users.each_with_index do |u, index| users.each_with_index do |u, index|
f1 = Follow.new if index != 0
f1.user = u f1 = Follow.new
f1.followable = @band2 f1.user = u
f1.save f1.followable = @band2
f1.save
end
end end
# @band2.followers.concat(users[1..-1]) # @band2.followers.concat(users[1..-1])

View File

@ -61,7 +61,7 @@ describe 'Musician search' do
f5.followable = @user3 f5.followable = @user3
f5.save f5.save
# @user2 # @user2
f6 = Follow.new f6 = Follow.new
f6.user = @user1 f6.user = @user1
f6.followable = @user2 f6.followable = @user2

View File

@ -10,6 +10,10 @@ node :last_name do |liker|
liker.user.last_name liker.user.last_name
end end
node :name do |liker|
liker.user.name
end
node :city do |liker| node :city do |liker|
liker.user.city liker.user.city
end end
@ -22,6 +26,10 @@ node :country do |liker|
liker.user.country liker.user.country
end end
node :location do |liker|
liker.user.location
end
node :musician do |liker| node :musician do |liker|
liker.user.musician liker.user.musician
end end

View File

@ -1,27 +0,0 @@
object @user.band_likes
attributes :band_id
node :name do |like|
like.band.name
end
node :city do |like|
like.band.city
end
node :state do |like|
like.band.state
end
node :country do |like|
like.band.country
end
node :photo_url do |like|
like.band.photo_url
end
node :logo_url do |like|
like.band.logo_url
end

View File

@ -1,6 +1,6 @@
collection @user.followings collection @user.followings
node :user_id do |following| node :id do |following|
following.followable.id following.followable.id
end end

View File

@ -1,31 +1,23 @@
object @user.likings object @user.likings
attributes :user_id node :id do |liking|
liking.likable.id
node :first_name do |liking|
liking.user.first_name
end end
node :last_name do |liking| node :name do |liking|
liking.user.last_name liking.likable.name
end end
node :city do |liking| node :location do |liking|
liking.user.city liking.likable.location
end
node :state do |liking|
liking.user.state
end
node :country do |liking|
liking.user.country
end end
node :musician do |liking| node :musician do |liking|
liking.user.musician if liking.likable.instance_of?(JamRuby::User)
liking.likable.musician
end
end end
node :photo_url do |liking| node :photo_url do |liking|
liking.user.photo_url liking.likable.photo_url
end end

View File

@ -22,6 +22,9 @@ elsif current_user
node :is_liking do |uu| node :is_liking do |uu|
current_user.likes?(@user) current_user.likes?(@user)
end end
node :pending_friend_request do |uu|
current_user.pending_friend_request?(@user)
end
end end
child :friends => :friends do child :friends => :friends do

View File

@ -38,8 +38,8 @@
<br /> <br />
<div align="center"> <div align="center">
<div class="left"><a href="{profile_url}" class="button-orange">PROFILE</a></div> <div class="left"><a href="{profile_url}" class="button-orange">PROFILE</a></div>
<div class="left"><a onclick="sendFriendRequest('{userId}');" class="button-orange">FRIEND</a></div> <div class="left"><a id="btnFriend" onclick="sendFriendRequest('{userId}');" class="button-orange">FRIEND</a></div>
<div class="left"><a onclick="addFollowing('{userId}');" class="button-orange">FOLLOW</a></div> <div class="left"><a id="btnFollow" onclick="addFollowing('{userId}');" class="button-orange">FOLLOW</a></div>
</div> </div>
<br /><br /> <br /><br />
</div> </div>

View File

@ -54,9 +54,9 @@
<br /> <br />
<div align="center"> <div align="center">
<div class="left"><a href="{profile_url}" class="button-orange">PROFILE</a></div> <div class="left"><a href="{profile_url}" class="button-orange">PROFILE</a></div>
<div class="left"><a onclick="addLike('{userId}');" class="button-orange">LIKE</a></div> <div class="left"><a id="btnLike" onclick="addLike('{userId}');" class="button-orange">LIKE</a></div>
<div class="left"><a onclick="sendFriendRequest('{userId}');" class="button-orange">FRIEND</a></div> <div class="left"><a id="btnFriend" onclick="sendFriendRequest('{userId}');" class="button-orange">FRIEND</a></div>
<div class="left"><a onclick="addFollowing('{userId}');" class="button-orange">FOLLOW</a></div> <div class="left"><a id="btnFollow" onclick="addFollowing('{userId}');" class="button-orange">FOLLOW</a></div>
</div> </div>
<br /><br /> <br /><br />
</div> </div>

View File

@ -66,9 +66,42 @@ describe "Musician Search API", :type => :api do
context 'results have expected data' do context 'results have expected data' do
it "has follower stats " do it "has follower stats " do
@user4.followers.concat([@user2, @user3, @user4]) # @user4
@user3.followers.concat([@user3, @user4]) f1 = Follow.new
@user2.followers.concat([@user4]) f1.user = @user2
f1.followable = @user4
f1.save
f2 = Follow.new
f2.user = @user3
f2.followable = @user4
f2.save
f3 = Follow.new
f3.user = @user4
f3.followable = @user4
f3.save
# @user3
f4 = Follow.new
f4.user = @user3
f4.followable = @user3
f4.save
f5 = Follow.new
f5.user = @user4
f5.followable = @user3
f5.save
# @user2
f6 = Follow.new
f6.user = @user1
f6.followable = @user2
f6.save
# @user4.followers.concat([@user2, @user3, @user4])
# @user3.followers.concat([@user3, @user4])
# @user2.followers.concat([@user4])
expect(@user4.followers.count).to be 3 expect(@user4.followers.count).to be 3
get_query get_query
good_response good_response

View File

@ -56,7 +56,7 @@ describe "User API", :type => :api do
def delete_user_like(authenticated_user, source_user, target_user) def delete_user_like(authenticated_user, source_user, target_user)
login(authenticated_user.email, authenticated_user.password, 200, true) login(authenticated_user.email, authenticated_user.password, 200, true)
delete "/api/users/#{source_user.id}/likes.json", { :user_id => target_user.id }.to_json, "CONTENT_TYPE" => 'application/json' delete "/api/users/#{source_user.id}/likes.json", { :target_entity_id => target_user.id }.to_json, "CONTENT_TYPE" => 'application/json'
return last_response return last_response
end end
@ -68,7 +68,7 @@ describe "User API", :type => :api do
def get_band_likes(authenticated_user, source_user) def get_band_likes(authenticated_user, source_user)
login(authenticated_user.email, authenticated_user.password, 200, true) login(authenticated_user.email, authenticated_user.password, 200, true)
get "/api/users/#{source_user.id}/band_likes.json" get "/api/users/#{source_user.id}/likes.json"
return last_response return last_response
end end
@ -99,21 +99,21 @@ describe "User API", :type => :api do
def delete_user_following(authenticated_user, source_user, target_user) def delete_user_following(authenticated_user, source_user, target_user)
login(authenticated_user.email, authenticated_user.password, 200, true) login(authenticated_user.email, authenticated_user.password, 200, true)
delete "/api/users/#{source_user.id}/followings.json", { :user_id => target_user.id }.to_json, "CONTENT_TYPE" => 'application/json' delete "/api/users/#{source_user.id}/followings.json", { :target_entity_id => target_user.id }.to_json, "CONTENT_TYPE" => 'application/json'
return last_response return last_response
end end
# def create_band_following(authenticated_user, source_user, target_band) def create_band_following(authenticated_user, source_user, target_band)
# login(authenticated_user.email, authenticated_user.password, 200, true) login(authenticated_user.email, authenticated_user.password, 200, true)
# post "/api/users/#{source_user.id}/followings.json", { :band_id => target_band.id }.to_json, "CONTENT_TYPE" => 'application/json' post "/api/users/#{source_user.id}/followings.json", { :band_id => target_band.id }.to_json, "CONTENT_TYPE" => 'application/json'
# return last_response return last_response
# end end
# def get_band_followings(authenticated_user, source_user) def get_band_followings(authenticated_user, source_user)
# login(authenticated_user.email, authenticated_user.password, 200, true) login(authenticated_user.email, authenticated_user.password, 200, true)
# get "/api/users/#{source_user.id}/band_followings.json" get "/api/users/#{source_user.id}/followings.json"
# return last_response return last_response
# end end
def get_band_followers(authenticated_user, source_band) def get_band_followers(authenticated_user, source_band)
login(authenticated_user.email, authenticated_user.password, 200, true) login(authenticated_user.email, authenticated_user.password, 200, true)
@ -319,7 +319,7 @@ describe "User API", :type => :api do
last_response.status.should == 200 last_response.status.should == 200
likes = JSON.parse(last_response.body) likes = JSON.parse(last_response.body)
likes.size.should == 1 likes.size.should == 1
likes[0]["user_id"].should == fan.id likes[0]["id"].should == fan.id
# get likers for other side of above like (fan) # get likers for other side of above like (fan)
last_response = get_user_likers(fan, fan) last_response = get_user_likers(fan, fan)
@ -339,7 +339,7 @@ describe "User API", :type => :api do
last_response.status.should == 200 last_response.status.should == 200
likes = JSON.parse(last_response.body) likes = JSON.parse(last_response.body)
likes.size.should == 1 likes.size.should == 1
likes[0]["band_id"].should == band.id likes[0]["id"].should == band.id
# get likers for band # get likers for band
last_response = get_band_likers(user, band) last_response = get_band_likers(user, band)
@ -364,7 +364,7 @@ describe "User API", :type => :api do
last_response.status.should == 200 last_response.status.should == 200
likes = JSON.parse(last_response.body) likes = JSON.parse(last_response.body)
likes.size.should == 1 likes.size.should == 1
likes[0]["user_id"].should == fan.id likes[0]["id"].should == fan.id
# delete like # delete like
last_response = delete_user_like(user, user, fan) last_response = delete_user_like(user, user, fan)
@ -387,7 +387,7 @@ describe "User API", :type => :api do
last_response.status.should == 200 last_response.status.should == 200
likes = JSON.parse(last_response.body) likes = JSON.parse(last_response.body)
likes.size.should == 1 likes.size.should == 1
likes[0]["user_id"].should == fan.id likes[0]["id"].should == fan.id
# attempt to delete like of another user # attempt to delete like of another user
last_response = delete_user_like(fan, user, fan) last_response = delete_user_like(fan, user, fan)
@ -427,11 +427,11 @@ describe "User API", :type => :api do
last_response.status.should == 201 last_response.status.should == 201
# get band followings # get band followings
# last_response = get_band_followings(user, user) last_response = get_band_followings(user, user)
# last_response.status.should == 200 last_response.status.should == 200
# followings = JSON.parse(last_response.body) followings = JSON.parse(last_response.body)
# followings.size.should == 1 followings.size.should == 1
# followings[0]["band_id"].should == band.id followings[0]["band_id"].should == band.id
# get followers for band # get followers for band
last_response = get_band_followers(user, band) last_response = get_band_followers(user, band)