Files
fizzy/test/controllers/concerns/set_platform_test.rb
T

22 lines
1013 B
Ruby

require "test_helper"
class SetPlatformTest < ActionDispatch::IntegrationTest
DESKTOP_UA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
NATIVE_IOS_UA = "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Hotwire Native iOS/1.0 bridge-components: [buttons overflow-menu]"
test "uses the request user agent by default" do
sign_in_as :david
get board_path(boards(:writebook)), headers: { "User-Agent" => DESKTOP_UA }
assert_select "body[data-platform='desktop web'][data-bridge-platform=''][data-bridge-components='']"
end
test "prefers x_user_agent cookie over request user agent" do
sign_in_as :david
cookies[:x_user_agent] = NATIVE_IOS_UA
get board_path(boards(:writebook)), headers: { "User-Agent" => DESKTOP_UA }
assert_select "body[data-platform='native ios'][data-bridge-platform='ios'][data-bridge-components='buttons overflow-menu']"
end
end