diff options
author | Jonne Haß <me@jhass.eu> | 2020-02-02 02:49:25 +0300 |
---|---|---|
committer | Jonne Haß <me@jhass.eu> | 2020-02-02 22:15:36 +0300 |
commit | 5921cd0176a7de35776d47d4f762a3a7d498f703 (patch) | |
tree | 227330100eb5babe3aa5260d37e98780e4e617b9 /spec | |
parent | 8cae234f451600e4ebd6098f0fc6368141f1c5d1 (diff) |
API: return post open graph metadata
Diffstat (limited to 'spec')
-rw-r--r-- | spec/integration/api/posts_controller_spec.rb | 14 | ||||
-rw-r--r-- | spec/presenters/post_presenter_spec.rb | 6 |
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 |