From 5921cd0176a7de35776d47d4f762a3a7d498f703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonne=20Ha=C3=9F?= Date: Sun, 2 Feb 2020 00:49:25 +0100 Subject: API: return post open graph metadata --- spec/integration/api/posts_controller_spec.rb | 14 ++++++++++++++ spec/presenters/post_presenter_spec.rb | 6 ++++++ 2 files changed, 20 insertions(+) (limited to 'spec') 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 -- cgit v1.2.3