Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/diaspora/diaspora.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorJonne Haß <me@jhass.eu>2020-02-02 02:49:25 +0300
committerJonne Haß <me@jhass.eu>2020-02-02 22:15:36 +0300
commit5921cd0176a7de35776d47d4f762a3a7d498f703 (patch)
tree227330100eb5babe3aa5260d37e98780e4e617b9 /spec
parent8cae234f451600e4ebd6098f0fc6368141f1c5d1 (diff)
API: return post open graph metadata
Diffstat (limited to 'spec')
-rw-r--r--spec/integration/api/posts_controller_spec.rb14
-rw-r--r--spec/presenters/post_presenter_spec.rb6
2 files changed, 20 insertions, 0 deletions
diff --git a/spec/integration/api/posts_controller_spec.rb b/spec/integration/api/posts_controller_spec.rb
index ad4abd7dc..0a8632630 100644
--- a/spec/integration/api/posts_controller_spec.rb
+++ b/spec/integration/api/posts_controller_spec.rb
@@ -87,6 +87,8 @@ describe Api::V1::PostsController do
merged_params = merged_params.merge(poll_params)
merged_params = merged_params.merge(photos: @alice_photo_ids)
status_message = StatusMessageCreationService.new(alice).create(merged_params)
+ status_message.open_graph_cache = FactoryGirl.create(:open_graph_cache, video_url: "http://example.org")
+ status_message.save
get(
api_v1_post_path(status_message.guid),
@@ -693,6 +695,7 @@ describe Api::V1::PostsController do
confirm_poll(post["poll"], reference_post.poll, false) if reference_post.poll
confirm_location(post["location"], reference_post.location) if reference_post.location
confirm_photos(post["photos"], reference_post.photos) if reference_post.photos
+ confirm_open_graph_object(post["open_graph_object"], reference_post.open_graph_cache)
end
def confirm_post_top_level(post, reference_post)
@@ -759,6 +762,17 @@ describe Api::V1::PostsController do
end
end
+ def confirm_open_graph_object(object, ref_cache)
+ return unless ref_cache
+
+ expect(object["type"]).to eq(ref_cache.ob_type)
+ expect(object["url"]).to eq(ref_cache.url)
+ expect(object["title"]).to eq(ref_cache.title)
+ expect(object["image"]).to eq(ref_cache.image)
+ expect(object["description"]).to eq(ref_cache.description)
+ expect(object["video_url"]).to eq(ref_cache.video_url)
+ end
+
def confirm_reshare_format(post, root_post, root_poster)
root = post["root"]
expect(root.has_key?("guid")).to be_truthy
diff --git a/spec/presenters/post_presenter_spec.rb b/spec/presenters/post_presenter_spec.rb
index 14974d073..f886a153c 100644
--- a/spec/presenters/post_presenter_spec.rb
+++ b/spec/presenters/post_presenter_spec.rb
@@ -214,6 +214,12 @@ describe PostPresenter do
post = FactoryGirl.create(:status_message, public: true, open_graph_cache: open_graph_cache)
expect(PostPresenter.new(post).send(:build_open_graph_cache)).to eq(open_graph_cache.as_api_response(:backbone))
end
+
+ it "returns the open graph data in the api" do
+ open_graph_cache = FactoryGirl.create(:open_graph_cache)
+ post = FactoryGirl.create(:status_message, public: true, open_graph_cache: open_graph_cache)
+ expect(PostPresenter.new(post).as_api_response[:open_graph_object][:url]).to eq(open_graph_cache.url)
+ end
end
end
end