36 lines
1.1 KiB
Ruby
36 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
describe OEmbedPresenter do
|
|
before do
|
|
@oembed = OEmbedPresenter.new(FactoryBot.create(:status_message))
|
|
end
|
|
|
|
it "is a hash" do
|
|
expect(@oembed.as_json).to be_a Hash
|
|
end
|
|
|
|
context "required options from oembed spec" do
|
|
it "supports maxheight + maxwidth(required)" do
|
|
oembed = OEmbedPresenter.new(FactoryBot.create(:status_message), maxwidth: 200, maxheight: 300).as_json
|
|
expect(oembed[:width]).to eq(200)
|
|
expect(oembed[:height]).to eq(300)
|
|
end
|
|
end
|
|
|
|
describe "#iframe_html" do
|
|
it "passes the height options to post_iframe_url" do
|
|
expect(@oembed).to receive(:post_iframe_url).with(kind_of(Integer), instance_of(Hash))
|
|
@oembed.iframe_html
|
|
end
|
|
end
|
|
|
|
describe ".id_from_url" do
|
|
it "takes a long post url and gives you the id" do
|
|
expect(OEmbedPresenter.id_from_url("http://localhost:400/posts/1")).to eq("1")
|
|
end
|
|
|
|
it "takes a short post url and gives you the id" do
|
|
expect(OEmbedPresenter.id_from_url("http://localhost:400/p/1")).to eq("1")
|
|
end
|
|
end
|
|
end
|