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 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;
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
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)
self.friends.exists?(user)
end

View File

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

View File

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

View File

@ -10,6 +10,10 @@ node :last_name do |liker|
liker.user.last_name
end
node :name do |liker|
liker.user.name
end
node :city do |liker|
liker.user.city
end
@ -22,6 +26,10 @@ node :country do |liker|
liker.user.country
end
node :location do |liker|
liker.user.location
end
node :musician do |liker|
liker.user.musician
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
node :user_id do |following|
node :id do |following|
following.followable.id
end

View File

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

View File

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

View File

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

View File

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

View File

@ -66,9 +66,42 @@ describe "Musician Search API", :type => :api do
context 'results have expected data' do
it "has follower stats " do
@user4.followers.concat([@user2, @user3, @user4])
@user3.followers.concat([@user3, @user4])
@user2.followers.concat([@user4])
# @user4
f1 = Follow.new
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
get_query
good_response

View File

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