Skip to content

Commit adcdddd

Browse files
authoredAug 16, 2024··
All requests from ToggleSwitch are being made with a Turbo Accept header (#3012)
1 parent 205cb16 commit adcdddd

File tree

4 files changed

+24
-1
lines changed

4 files changed

+24
-1
lines changed
 

‎.changeset/quick-falcons-cheat.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@primer/view-components": patch
3+
---
4+
5+
Fix a bug where all requests from the `ToggleSwitch` view component are being made with a Turbo Accept header.
6+
This started happening after the change in #2964 because `data-turbo=false` gets interpreted as a truthy value.

‎app/components/primer/alpha/toggle_switch.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,9 @@ def before_render
8484

8585
@system_arguments[:data] = merge_data(
8686
@system_arguments,
87-
{ data: { csrf: @csrf_token, turbo: @turbo } }
87+
{ data: { csrf: @csrf_token } }
8888
)
89+
@system_arguments[:data][:turbo] = true if @turbo
8990
end
9091
end
9192
end

‎test/components/alpha/toggle_switch_test.rb

+6
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ def test_csrf_token
6969
assert_selector("[data-csrf]")
7070
end
7171

72+
def test_turbo_default
73+
render_inline(Primer::Alpha::ToggleSwitch.new(src: "/foo"))
74+
75+
refute_selector("[data-turbo]")
76+
end
77+
7278
def test_turbo
7379
render_inline(Primer::Alpha::ToggleSwitch.new(src: "/foo", turbo: true))
7480

‎test/system/alpha/toggle_switch_test.rb

+10
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,17 @@ def test_fetch_made_with_turbo
100100
assert_equal "text/vnd.turbo-stream.html", ToggleSwitchController.last_request.headers["HTTP_ACCEPT"]
101101
end
102102

103+
def test_fetch_made_without_turbo
104+
visit_preview(:default)
105+
106+
refute_selector(".ToggleSwitch--checked")
107+
find("toggle-switch").click
108+
assert_selector(".ToggleSwitch--checked")
109+
110+
wait_for_request
103111

112+
assert_equal "*/*", ToggleSwitchController.last_request.headers["HTTP_ACCEPT"]
113+
end
104114

105115
private
106116

0 commit comments

Comments
 (0)
Please sign in to comment.