diff --git a/spec/system/turbo_native/responses_spec.rb b/spec/system/turbo_native/responses_spec.rb new file mode 100644 index 000000000..3baf7d5d7 --- /dev/null +++ b/spec/system/turbo_native/responses_spec.rb @@ -0,0 +1,62 @@ +require 'rails_helper' + +RSpec.describe 'Turbo Native responses', type: :system do + include BetterTogether::DeviseSessionHelpers + + before do |example| + driven_by(:rack_test) unless example.metadata[:js] + + configure_host_platform + login_as_platform_manager + end + + let(:current_user) { BetterTogether::User.find_by(email: 'manager@example.test') } + let(:conversation) do + create(:better_together_conversation, creator: current_user.person).tap do |conv| + conv.participants << current_user.person + end + end + let(:navigation_area) { create(:better_together_navigation_area) } + let(:navigation_item) { create(:better_together_navigation_item, navigation_area:) } + + describe 'NavigationItemsController' do + it 'returns turbo stream for Turbo Native requests' do + page.driver.header 'User-Agent', 'Turbo Native iOS' + page.driver.header 'Accept', 'text/vnd.turbo-stream.html' + page.driver.submit :patch, + navigation_area_navigation_item_path(navigation_area, navigation_item, locale: I18n.default_locale), + { navigation_item: { title: 'Updated' } } + expect(page.html).to include('