Files
grecia/spec/components/shared/embedded_video_component_spec.rb
Javi Martín ee64efe659 Use the Do Not Track parameter in vimeo videos
With this parameter, Vimeo no longer uses cookies that identifies users
browsing our site.

They do still store some cookies, though; quoting from Vimeo player
parameters overview:

> When DNT is enabled, Vimeo deploys one essential cookie via the
> embeddable player:
> The __cf_bm cookie, which is part of Cloudflare's Bot Management
> service and helps mitigate risk associated with spam and bot traffic.

Not sure whether this counts as essential cookies in our case; they're
essential for Vimeo, but for us, they're third-party cookies, after all.

[1] https://help.vimeo.com/hc/en-us/articles/12426260232977-Player-parameters-overview
2024-06-07 15:28:42 +02:00

44 lines
1.2 KiB
Ruby

require "rails_helper"
describe Shared::EmbeddedVideoComponent do
describe "src attribute" do
before do
dummy_class = Class.new do
include ActiveModel::Model
attr_accessor :title, :video_url
include Videoable
end
stub_const("DummyClass", dummy_class)
end
let(:record) { DummyClass.new(title: "Dummy Video", video_url: "") }
let(:component) { Shared::EmbeddedVideoComponent.new(record) }
it "does not render anything for empty URls" do
render_inline component
expect(page).not_to be_rendered
end
it "embeds a youtube video for youtube URLs" do
allow(record).to receive(:video_url).and_return "http://www.youtube.com/watch?v=a7UFm6ErMPU"
embed_url = "https://www.youtube-nocookie.com/embed/a7UFm6ErMPU"
render_inline component
expect(page).to have_css "[data-video-code*='src=\"#{embed_url}\"']"
end
it "embeds a vimeo video for vimeo URLs" do
allow(record).to receive(:video_url).and_return "https://vimeo.com/7232823"
embed_url = "https://player.vimeo.com/video/7232823?dnt=1"
render_inline component
expect(page).to have_css "[data-video-code*='src=\"#{embed_url}\"']"
end
end
end