Repository URL to install this package:
|
Version:
1.17.2 ▾
|
# desc "Explaining what the task does"
# task :j_ember_platform do
# # Task goes here
# end
namespace :j_ember_platform do
desc "Update Social Feed Teaspoon (JS) test fixtures from JPlatform"
task update_fixtures: :environment do
update_j_ember_platform_fixtures
end
def update_j_ember_platform_fixtures
content = "# To update this file, run 'rake j_ember_platform:update_fixtures'\n"
content += "# To change what feeds / data is loaded, modify lib/tasks/j_ember_platform_tasks.rake\n\n"
content += "window.FIXTURES ?= {}\n\n"
auth_token = ENV['J_PLATFORM_CLIENT_ACCESS_TOKEN'] || '71cc6534a07213e96e23162a8816ac460553f709754f95e9706c22f1f88d6352'
# FIXME: have to fake for now :P
user_me = '{"id":1,"first_name":"Jugnoo","last_name":"Dev","email":"dev@jugnoo.com","full_name":"Jugnoo Dev","role":"super_admin","status":"active","created_at":"2013-12-12T21:11:35.227Z","updated_at":"2014-06-18T18:56:33.831Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/thumb/msn-620140618-24041-1dg7h6f.gif?1403117793","url_medium":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/medium/msn-620140618-24041-1dg7h6f.gif?1403117793","url":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/original/msn-620140618-24041-1dg7h6f.gif?1403117793"},"organization":{"id":1,"name":"Jugnoo","super_admin":{"id":1,"first_name":"Jugnoo","last_name":"Dev","email":"dev@jugnoo.com","full_name":"Jugnoo Dev","role":"super_admin","status":"active","created_at":"2013-12-12T21:11:35.227Z","updated_at":"2014-06-18T18:56:33.831Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/thumb/msn-620140618-24041-1dg7h6f.gif?1403117793","url_medium":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/medium/msn-620140618-24041-1dg7h6f.gif?1403117793","url":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/original/msn-620140618-24041-1dg7h6f.gif?1403117793"},"apps_data":{}},"created_at":"2013-12-12T21:11:33.391Z","members":[{"id":3,"first_name":"Constance","last_name":"Pagac","email":"user2@jugnoo.com","full_name":"Constance Pagac","role":"member","status":"active","created_at":"2013-12-12T21:11:36.549Z","updated_at":"2014-02-26T16:17:07.543Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{}},{"id":1,"first_name":"Jugnoo","last_name":"Dev","email":"dev@jugnoo.com","full_name":"Jugnoo Dev","role":"super_admin","status":"active","created_at":"2013-12-12T21:11:35.227Z","updated_at":"2014-06-18T18:56:33.831Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/thumb/msn-620140618-24041-1dg7h6f.gif?1403117793","url_medium":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/medium/msn-620140618-24041-1dg7h6f.gif?1403117793","url":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/original/msn-620140618-24041-1dg7h6f.gif?1403117793"},"apps_data":{}},{"id":4,"first_name":"Joey","last_name":"Bednar","email":"user3@jugnoo.com","full_name":"Joey Bednar","role":"member","status":"active","created_at":"2013-12-12T21:11:37.058Z","updated_at":"2014-02-26T16:17:07.761Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{}},{"id":5,"first_name":"Juliet","last_name":"Rippin","email":"user4@jugnoo.com","full_name":"Juliet Rippin","role":"member","status":"active","created_at":"2013-12-12T21:11:37.603Z","updated_at":"2014-02-26T16:17:07.962Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{}},{"id":2,"first_name":"Maxwell","last_name":"Durgan","email":"user1@jugnoo.com","full_name":"Maxwell Durgan","role":"member","status":"active","created_at":"2013-12-12T21:11:36.049Z","updated_at":"2014-02-26T16:17:07.329Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{}}]},"clients":[{"id":1,"name":"Seed Client","description":null,"status":"active","is_suspended":false,"created_at":"2013-12-12T21:11:39.262Z","updated_at":"2014-06-19T15:43:17.877Z","organization_id":1,"admin_ids":[1],"admins":[{"id":1,"first_name":"Jugnoo","last_name":"Dev","email":"dev@jugnoo.com","full_name":"Jugnoo Dev","role":"super_admin","status":"active","created_at":"2013-12-12T21:11:35.227Z","updated_at":"2014-06-18T18:56:33.831Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/thumb/msn-620140618-24041-1dg7h6f.gif?1403117793","url_medium":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/medium/msn-620140618-24041-1dg7h6f.gif?1403117793","url":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/original/msn-620140618-24041-1dg7h6f.gif?1403117793"},"apps_data":{}}],"projects_count":3,"social_accounts_count":4,"members_count":1,"ticket_lists_count":2,"avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url_large":"http://dev1.jugnoocorp.com/images/avatars/large/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{},"project_ids":[3,1,2],"social_account_ids":[10,1,3,2],"member_ids":[1],"ticket_list_ids":[1,2]},{"id":5,"name":"TD Bank","description":"Test delete","status":"active","is_suspended":false,"created_at":"2014-01-03T17:09:30.933Z","updated_at":"2014-06-25T22:37:20.302Z","organization_id":1,"admin_ids":[3,1],"admins":[{"id":3,"first_name":"Constance","last_name":"Pagac","email":"user2@jugnoo.com","full_name":"Constance Pagac","role":"member","status":"active","created_at":"2013-12-12T21:11:36.549Z","updated_at":"2014-02-26T16:17:07.543Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{}},{"id":1,"first_name":"Jugnoo","last_name":"Dev","email":"dev@jugnoo.com","full_name":"Jugnoo Dev","role":"super_admin","status":"active","created_at":"2013-12-12T21:11:35.227Z","updated_at":"2014-06-18T18:56:33.831Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/thumb/msn-620140618-24041-1dg7h6f.gif?1403117793","url_medium":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/medium/msn-620140618-24041-1dg7h6f.gif?1403117793","url":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/original/msn-620140618-24041-1dg7h6f.gif?1403117793"},"apps_data":{}}],"projects_count":2,"social_accounts_count":2,"members_count":3,"ticket_lists_count":1,"avatar":{"url_thumb":"http://dev1.jugnoocorp.com/system/clients/avatars/000/000/005/thumb/td-canada-trust-logo-300x25920140604-1282-1m8r0sc.png?1401896777","url_medium":"http://dev1.jugnoocorp.com/system/clients/avatars/000/000/005/medium/td-canada-trust-logo-300x25920140604-1282-1m8r0sc.png?1401896777","url_large":"http://dev1.jugnoocorp.com/system/clients/avatars/000/000/005/large/td-canada-trust-logo-300x25920140604-1282-1m8r0sc.png?1401896777","url":"http://dev1.jugnoocorp.com/system/clients/avatars/000/000/005/original/td-canada-trust-logo-300x25920140604-1282-1m8r0sc.png?1401896777"},"apps_data":{},"project_ids":[7,10],"social_account_ids":[9812,723420],"member_ids":[3,1,2],"ticket_list_ids":[26]},{"id":2,"name":"Jugnoo","description":"","status":"active","is_suspended":false,"created_at":"2013-12-12T21:11:39.352Z","updated_at":"2014-06-26T14:05:34.644Z","organization_id":1,"admin_ids":[4,1,2],"admins":[{"id":4,"first_name":"Joey","last_name":"Bednar","email":"user3@jugnoo.com","full_name":"Joey Bednar","role":"member","status":"active","created_at":"2013-12-12T21:11:37.058Z","updated_at":"2014-02-26T16:17:07.761Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{}},{"id":1,"first_name":"Jugnoo","last_name":"Dev","email":"dev@jugnoo.com","full_name":"Jugnoo Dev","role":"super_admin","status":"active","created_at":"2013-12-12T21:11:35.227Z","updated_at":"2014-06-18T18:56:33.831Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/thumb/msn-620140618-24041-1dg7h6f.gif?1403117793","url_medium":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/medium/msn-620140618-24041-1dg7h6f.gif?1403117793","url":"http://dev1.jugnoocorp.com/system/users/avatars/000/000/001/original/msn-620140618-24041-1dg7h6f.gif?1403117793"},"apps_data":{}},{"id":2,"first_name":"Maxwell","last_name":"Durgan","email":"user1@jugnoo.com","full_name":"Maxwell Durgan","role":"member","status":"active","created_at":"2013-12-12T21:11:36.049Z","updated_at":"2014-02-26T16:17:07.329Z","avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{}}],"projects_count":3,"social_accounts_count":25,"members_count":4,"ticket_lists_count":2,"avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url_large":"http://dev1.jugnoocorp.com/images/avatars/large/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{},"project_ids":[8,4,11],"social_account_ids":[25696561,25696560,10418131,10418127,11,8739,4,7339641,1554109,7341810,6419376,5,6,7,8538,4750293,4750300,4750313,7418396,6870958,9,7418395,18200998,12397766,12759145],"member_ids":[4,5,1,2],"ticket_list_ids":[23,24]}],"projects":[{"id":1,"name":"Seed Project 1","description":"Fixed seed data","status":"active","created_at":"2013-12-12T21:11:39.582Z","updated_at":"2014-02-27T21:12:05.271Z","client_id":1,"is_suspended":false,"is_closed":false,"social_accounts_count":4,"client_memberships_count":1,"ticket_lists_count":2,"avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{"precog_key":"E4F8559A-9408-4C4C-A1CB-4094246C96E8"},"social_account_ids":[1,2,3,10],"client_membership_ids":[1],"project_ticket_list_ids":[1,2],"ticket_list_ids":[2,1]},{"id":2,"name":"Seed Project 2","description":"Fixed seed data","status":"active","created_at":"2013-12-12T21:11:39.615Z","updated_at":"2014-02-26T16:17:26.073Z","client_id":1,"is_suspended":false,"is_closed":false,"social_accounts_count":3,"client_memberships_count":1,"ticket_lists_count":1,"avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{"precog_key":"E4F8559A-9408-4C4C-A1CB-4094246C96E8"},"social_account_ids":[1,2,3],"client_membership_ids":[1],"project_ticket_list_ids":[3],"ticket_list_ids":[1]},{"id":7,"name":"TD Aeroplan","description":"","status":"active","created_at":"2014-01-20T20:40:07.350Z","updated_at":"2014-06-25T15:18:35.299Z","client_id":5,"is_suspended":false,"is_closed":false,"social_accounts_count":2,"client_memberships_count":3,"ticket_lists_count":1,"avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{},"social_account_ids":[9812,723420],"client_membership_ids":[66,5,67],"project_ticket_list_ids":[8],"ticket_list_ids":[26]},{"id":10,"name":"Test","description":"","status":"active","created_at":"2014-04-04T20:01:32.140Z","updated_at":"2014-06-04T15:46:17.870Z","client_id":5,"is_suspended":false,"is_closed":false,"social_accounts_count":1,"client_memberships_count":1,"ticket_lists_count":0,"avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{},"social_account_ids":[723420],"client_membership_ids":[5],"project_ticket_list_ids":[],"ticket_list_ids":[]},{"id":8,"name":"No Social Accounts","description":"","status":"active","created_at":"2014-02-03T13:55:43.291Z","updated_at":"2014-06-04T18:35:34.567Z","client_id":2,"is_suspended":false,"is_closed":false,"social_accounts_count":0,"client_memberships_count":2,"ticket_lists_count":0,"avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{},"social_account_ids":[],"client_membership_ids":[22,2],"project_ticket_list_ids":[],"ticket_list_ids":[]},{"id":4,"name":"Jugnoo","description":null,"status":"active","created_at":"2013-12-12T21:11:39.658Z","updated_at":"2014-06-04T18:35:34.567Z","client_id":2,"is_suspended":false,"is_closed":false,"social_accounts_count":23,"client_memberships_count":2,"ticket_lists_count":2,"avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{"precog_key":"E4F8559A-9408-4C4C-A1CB-4094246C96E8"},"social_account_ids":[4,5,6,7,9,11,8739,1554109,4750293,4750300,4750313,6419376,6870958,7339641,7341810,7418395,10418127,10418131,12397766,12759145,18200998,25696560,25696561],"client_membership_ids":[22,2],"project_ticket_list_ids":[6,7],"ticket_list_ids":[23,24]},{"id":11,"name":"Twitter Only","description":"","status":"active","created_at":"2014-06-03T18:37:30.714Z","updated_at":"2014-06-04T18:35:34.567Z","client_id":2,"is_suspended":false,"is_closed":false,"social_accounts_count":4,"client_memberships_count":1,"ticket_lists_count":0,"avatar":{"url_thumb":"http://dev1.jugnoocorp.com/images/avatars/thumb/missing.png","url_medium":"http://dev1.jugnoocorp.com/images/avatars/medium/missing.png","url":"http://dev1.jugnoocorp.com/images/avatars/original/missing.png"},"apps_data":{},"social_account_ids":[4,11,8538,8739],"client_membership_ids":[2],"project_ticket_list_ids":[],"ticket_list_ids":[]}],"apps_data":{}}'
content += "FIXTURES.user_me = '#{process_response(user_me)}'\n"
accounts = HTTParty.get("#{api_v1_base}/social_accounts?client_id=1&access_token=#{auth_token}")
content += "FIXTURES.social_accounts = '#{process_response(accounts.body)}'\n"
psas = HTTParty.get("#{api_v1_base}/project_social_accounts?project_id=1&access_token=#{auth_token}")
content += "FIXTURES.project_social_accounts = '#{process_response(psas.body)}'\n"
# Base feed data
for i in ["1_3", "2_6", "10_349", "1_1"]
feed = HTTParty.get("#{api_v1_base}/social_feeds/#{i}?access_token=#{auth_token}")
msgs = HTTParty.get("#{api_v2_base}/social_messages?social_feed_id=#{i}&include_ticket_ids=true&include_entities=true&project_id=1&access_token=#{auth_token}")
content += "FIXTURES.social_feed_#{i} = '#{process_response(feed.body)}'\n"
content += "FIXTURES.social_feed_#{i}_messages = '#{process_response(msgs.body)}'\n"
end
# additional social account data
for i in [1, 2, 4]
account = HTTParty.get("#{api_v1_base}/social_accounts/#{i}?access_token=#{auth_token}")
content += "FIXTURES.social_account_#{i} = '#{process_response(account.body)}'\n"
end
# create feed
content += add_create_conversation_feed_fixture
# Since / until message sets
messages_sets = [
{id: "1_3", type: "since", timestamp: "1393275905000"},
{id: "1_3", type: "until", timestamp: "1391521956000"},
{id: "1_3", type: "until", timestamp: "1390855377000"},
{id: "1_3", type: "until", timestamp: "1389712695000"},
{id: "2_6", type: "until", timestamp: "1391015845000"},
{id: "10_349", type: "until", timestamp: "1380730208264"}
]
messages_sets.each do |set|
url = "#{api_v2_base}/social_messages?#{set[:type]}=#{set[:timestamp]}&include_ticket_ids=true&project_id=1&include_entities=true&social_feed_id=#{set[:id]}&access_token=#{auth_token}"
msgs = HTTParty.get(url)
content += "FIXTURES.social_feed_#{set[:id]}_messages_#{set[:type]}_#{set[:timestamp]} = '#{process_response(msgs.body)}'\n"
end
get_calls = [
{id: "1_13732925", endpoint: "conversation"},
{id: "1_12659529", endpoint: "shares"},
{id: "2_12659646", endpoint: "conversation"},
{id: "2_12659629", endpoint: "likes"},
]
for call in get_calls
convo = HTTParty.get("#{api_v1_base}/social_messages/#{call[:id]}/#{call[:endpoint]}?project_id=1&access_token=#{auth_token}")
content += "FIXTURES.social_message_#{call[:id]}_#{call[:endpoint]} = '#{process_response(convo.body)}'\n"
end
content += get_twitter_message_fixtures(auth_token, "1_13769867")
content += get_facebook_message_fixtures(auth_token, "2_56989813")
content += get_message_fixture_with_task(auth_token, "1_104053831")
# search results
searches = [
{id: 4, query: "fruitopia"}
]
for search in searches
results = HTTParty.get("#{api_v1_base}/social_messages/search?viewer_account_ids%5B%5D=#{search[:id]}&query=#{search[:query]}&include_entities=true&access_token=#{auth_token}")
content += "FIXTURES.social_messages_search_#{search[:id]}_#{search[:query]} = '#{process_response(results.body)}'\n"
end
accounts_search = HTTParty.get("#{api_v1_base}/social_accounts/search?project_id=1&query=Teavana&access_token=#{auth_token}")
content += "FIXTURES.social_accounts_search_teavana = '#{process_response(accounts_search.body)}'\n"
following_feeds = [
{id: 11, follower_id: 1, network: "twitter", followed_id: 1192896, followed_nickname: "teavana"},
{id: 12, follower_id: 2, network: "facebook", followed_id: 15777055, followed_nickname: nil}
]
following_feeds.each do |ff|
content += add_create_following_feed_fixture(ff[:id], ff[:follower_id], ff[:network], ff[:followed_id], ff[:followed_nickname])
end
File.open("spec/javascripts/fixtures/j_ember_platform_fixtures.coffee", "w+") do |f|
f.write(content)
end
end
def process_response(response_body)
response_body.gsub("\\","\\\\\\").gsub("'","\\\\'")
end
def add_create_conversation_feed_fixture
## FIXME: Have to fake this for now.
# createBody = {
# social_feed: {
# display_name: nil,
# query: "13769867",
# feed_type: "conversation",
# social_account_id: nil
# },
# viewer_account_id: "1",
# access_token: auth_token
# }
# postReq = HTTParty.post("#{api_v1_base}/social_feeds", createBody)
# resp = postReq.response
resp = {
social_feed: {
id: "1_9",
type: "SocialFeed::TwitterFeed::Conversation",
query: "13769867",
raw_query: "13769867",
viewer_account_id: "1",
display_name: nil
}
}.to_json
"FIXTURES.social_feed_create_conversation_1_1376987 = '#{process_response(resp)}'\n"
end
def add_create_following_feed_fixture(feed_id, follower_id, network, followed_id, followed_nickname)
resp = {
social_feed: {
id: "#{follower_id}_#{feed_id}",
type: "SocialFeed::#{network.capitalize}::Following",
query: followed_nickname.present? ? "@#{followed_nickname}" : followed_id.to_s,
raw_query: followed_id.to_s,
viewer_account_id: follower_id.to_s,
social_account_id: follower_id.to_s,
display_name: nil
}
}.to_json
"FIXTURES.social_feed_create_following_#{follower_id}_#{followed_id} = '#{process_response(resp)}'\n"
end
def get_message_fixtures(auth_token, id, actions)
# Ideally we should be able to do something like:
# results = ""
# options = {access_token: auth_token}
# actions.each do |action|
# endpoint = "#{action}s"
# ["post", "delete"].each do |type|
# resp = HTTParty.send(type, "#{api_v1_base}/social_messages/#{id}/#{endpoint}", options)
# content << "FIXTURES.social_message_#{id}_#{endpoint}_#{type} = '#{process_response(resp.body)}'\n"
# end
# end
# results
# Unfortunately we have to semi-fake these responses instead, because the "accounts" being used to view the messages
# are fake seeded accounts, and the responses would be meaningless.
msg_resp = HTTParty.get("#{api_v2_base}/social_messages/#{id}?include_entities=true&access_token=#{auth_token}")
msg_json = JSON.parse(msg_resp.body)
results = ""
if msg_json["social_message"].present?
meta = msg_json["social_message"]["metadata"]
resp_actions = msg_json["social_message"]["available_actions"]
prev_counts = {}
actions.each do |action|
count_field = "#{action}_count"
actioned_field = "#{action}d" # all actions used right now end in 'e'
prev_counts[count_field] = meta[count_field]
[true, false].each do |toggle|
meta[count_field] = prev_counts[count_field].to_i + (toggle ? 1 : 0)
meta[actioned_field] = toggle
resp_action = resp_actions.detect {|a| a["link"] == "#{api_v1_base}/social_messages/#{id}/#{action}s"}
if resp_action
resp_action["http_action"] = toggle ? "DELETE" : "POST"
resp_action["name"] = toggle ? "un#{action}" : action
end
# Fixture:
results << "FIXTURES.social_message_#{id}_#{action}s_#{toggle ? "post" : "delete"} = '#{process_response(msg_json.to_json)}'\n"
end
end
end
results
end
def get_twitter_message_fixtures(auth_token, id)
get_message_fixtures(auth_token, id, ["share", "like"])
end
def get_facebook_message_fixtures(auth_token, id)
get_message_fixtures(auth_token, id, ["like"])
end
def get_message_fixture_with_task(auth_token, id)
msg_resp = HTTParty.get("#{api_v2_base}/social_messages/#{id}?include_ticket_ids=true&include_entities=true&access_token=#{auth_token}")
msg_json = JSON.parse(msg_resp.body) rescue {}
if (msg = msg_json["social_message"]).present?
if msg_json["parent_messages"].present? && msg_json["parent_messages"].length > 0 && msg["shared_parent_id"].present?
modified_message = msg_json["parent_messages"][0]
else
modified_message = msg
end
end
modified_message["ticket_ids"] = [1] if modified_message.present?
# Fixture:
"FIXTURES.social_message_#{id}_task = '#{process_response(msg_json.to_json)}'\n"
end
def api_v1_base
"#{JPlatform::Default::ENDPOINT}/api/v1"
end
def api_v2_base
"#{Rails.application.config.j_platform_v2_endpoint}/v2"
end
end