blacklight-oembed 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7c5f0dcab275875e50d436e29e825e8a3f97fc7b
4
- data.tar.gz: 28c6ba94fed961104b93b5231785d4ead1b1ab68
3
+ metadata.gz: b22bb6adfd4ab4c7b6a77bd59618f52180622792
4
+ data.tar.gz: 521256885dbd5e26363f8023d85ec57aa226220a
5
5
  SHA512:
6
- metadata.gz: f3409a00f0b28fe9b0f50468c63808cb32a73e245436772a727803486c2245b436c27fdce182475824c88fe823c3c63dbee9a9be06e354db6c90d953c98fef48
7
- data.tar.gz: e9cfa06132ee45d72f3cd17e2711957486dd25466d7d2698f92ce0edc5042f8f71ab9c1809c75604b39893fdfc2638b25e6b5ec679f3b1313b9a7600becc1ce8
6
+ metadata.gz: 1ac3306498bb9acfe9cc2928e13444810309b8811a1452d9432cc749cca1b27d284acd3f6d1cb2c0746d12d955b4c1a5320b619775043afc9b07bb1228c378fa
7
+ data.tar.gz: 714124f783cbe9665afa71cbdb1afba0f9ff4fd1ba430b60c7dd9d63c6e14831180a0221c3434f780bea760fd542c3693ba63ade72919ef6306ea39c95ee7fb4
@@ -1,8 +1,8 @@
1
1
  module Blacklight::Oembed
2
2
  class EmbedController < ActionController::Metal
3
3
  def show
4
- self.content_type = "application/json"
5
- self.response_body = { html: get_embed_content(params[:url]) }.to_json
4
+ self.content_type = "application/json"
5
+ self.response_body = { html: get_embed_content(params[:url]) }.to_json
6
6
  end
7
7
 
8
8
  private
@@ -11,7 +11,8 @@ module Blacklight::Oembed
11
11
  begin
12
12
  OEmbed::Providers.get(url).html.html_safe
13
13
  rescue OEmbed::NotFound
14
- link_to I18n.t(:'blacklight_oembed.catalog.view'), url
14
+ self.status = 400
15
+ ""
15
16
  end
16
17
  end
17
18
  end
@@ -1,11 +1,14 @@
1
1
  module Blacklight::Oembed
2
2
  module OembedHelper
3
3
 
4
- def render_oembed_tag document
4
+ def render_oembed_solr_document_tag document
5
5
  url = document.first(blacklight_config.show.oembed_field)
6
-
7
6
  return if url.blank?
8
7
 
8
+ render_oembed_tag url
9
+ end
10
+
11
+ def render_oembed_tag url
9
12
  send Blacklight::Oembed::Engine.config.render_helper, url
10
13
  end
11
14
 
@@ -1,5 +1,5 @@
1
1
  module Blacklight
2
2
  module Oembed
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ describe Blacklight::Oembed::EmbedController do
4
+ routes { Blacklight::Oembed::Engine.routes }
5
+ describe "show" do
6
+ before do
7
+ Blacklight::Oembed::Engine.config.render_helper = :render_oembed_tag_embed
8
+ end
9
+
10
+ let :oembed_obj do
11
+ double(html: "some-markup")
12
+ end
13
+
14
+ it "should fetch oembed markup for a url" do
15
+ allow(OEmbed::Providers).to receive(:get).with('http://some/uri').and_return oembed_obj
16
+ get :show, url: 'http://some/uri'
17
+ json = JSON.parse(response.body)
18
+ expect(json["html"]).to eq "some-markup"
19
+ end
20
+
21
+ it "should gracefully fail to a view link" do
22
+ get :show, url: 'http://some/uri'
23
+ expect(response.status).to eq 400
24
+ json = JSON.parse(response.body)
25
+ expect(json["html"]).to be_blank
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,70 @@
1
+ require 'spec_helper'
2
+
3
+ describe Blacklight::Oembed::OembedHelper do
4
+ before :all do
5
+ @original_value = Blacklight::Oembed::Engine.config.render_helper
6
+ end
7
+
8
+ after :all do
9
+ Blacklight::Oembed::Engine.config.render_helper = @original_value
10
+ end
11
+
12
+ let :document do
13
+ SolrDocument.new
14
+ end
15
+
16
+ let :blacklight_config do
17
+ Blacklight::Configuration.new do |config|
18
+ config.show.oembed_field = :oembed_url_ssm
19
+ end
20
+ end
21
+
22
+ before do
23
+ allow(helper).to receive(:blacklight_config).and_return(blacklight_config)
24
+ end
25
+
26
+ it "should render nothing if no oembed url is available" do
27
+ expect(helper.render_oembed_solr_document_tag(document)).to be_blank
28
+ end
29
+
30
+ describe "async" do
31
+ before do
32
+ Blacklight::Oembed::Engine.config.render_helper = :render_oembed_tag_async
33
+ end
34
+
35
+ let :document do
36
+ SolrDocument.new oembed_url_ssm: 'http://some/uri'
37
+ end
38
+
39
+ it "should render a placeholder for oembed data" do
40
+ rendered = helper.render_oembed_solr_document_tag document
41
+ expect(rendered).to have_css "[data-embed-url]"
42
+ expect(rendered).to have_css "[data-embed-url='#{blacklight_oembed_engine.embed_url(url: "http://some/uri")}']"
43
+ end
44
+ end
45
+
46
+ describe "embed" do
47
+ before do
48
+ Blacklight::Oembed::Engine.config.render_helper = :render_oembed_tag_embed
49
+ end
50
+
51
+ let :document do
52
+ SolrDocument.new oembed_url_ssm: 'http://some/uri'
53
+ end
54
+
55
+ let :oembed_obj do
56
+ double(html: "some-markup")
57
+ end
58
+
59
+ it "should fetch oembed markup for a url" do
60
+ allow(OEmbed::Providers).to receive(:get).with('http://some/uri').and_return oembed_obj
61
+ rendered = helper.render_oembed_solr_document_tag document
62
+ expect(rendered).to eq "some-markup"
63
+ end
64
+
65
+ it "should gracefully fail to a view link" do
66
+ rendered = helper.render_oembed_solr_document_tag document
67
+ expect(rendered).to have_link "View", href: "http://some/uri"
68
+ end
69
+ end
70
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight-oembed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
@@ -234,6 +234,8 @@ files:
234
234
  - lib/generators/blacklight_oembed/templates/blacklight_oembed.css.scss
235
235
  - lib/generators/blacklight_oembed/templates/blacklight_oembed.js
236
236
  - lib/generators/blacklight_oembed/templates/oembed_providers.rb
237
+ - spec/controllers/embed_controller_spec.rb
238
+ - spec/helpers/oembed_helper_spec.rb
237
239
  - spec/spec_helper.rb
238
240
  - spec/test_app_templates/lib/generators/test_app_generator.rb
239
241
  homepage: https://github.com/sul-dlss/blacklight-oembed
@@ -261,5 +263,7 @@ signing_key:
261
263
  specification_version: 4
262
264
  summary: Oembed display for Blacklight
263
265
  test_files:
266
+ - spec/controllers/embed_controller_spec.rb
267
+ - spec/helpers/oembed_helper_spec.rb
264
268
  - spec/spec_helper.rb
265
269
  - spec/test_app_templates/lib/generators/test_app_generator.rb