diff --git a/app/assets/javascripts/app/views/ticket_zoom/overview_navigator.jst.eco b/app/assets/javascripts/app/views/ticket_zoom/overview_navigator.jst.eco index 9f18091af..e40386412 100644 --- a/app/assets/javascripts/app/views/ticket_zoom/overview_navigator.jst.eco +++ b/app/assets/javascripts/app/views/ticket_zoom/overview_navigator.jst.eco @@ -3,7 +3,7 @@ \ No newline at end of file + diff --git a/spec/system/ticket/zoom_spec.rb b/spec/system/ticket/zoom_spec.rb index 1d13581c7..5f440ad1a 100644 --- a/spec/system/ticket/zoom_spec.rb +++ b/spec/system/ticket/zoom_spec.rb @@ -1112,6 +1112,59 @@ RSpec.describe 'Ticket zoom', type: :system do expect { find(:element_containing, macro.name).click }.to change { current_url } end + end + # https://github.com/zammad/zammad/issues/3279 + describe 'previous/next clickability when at last or first ticket' do + let(:ticket_a) { create(:ticket, title: 'ticket a', group: Group.first) } + let(:ticket_b) { create(:ticket, title: 'ticket b', group: Group.first) } + + before do + ticket_a && ticket_b + + visit 'ticket/view/all_unassigned' + end + + it 'previous is not clickable for the first item' do + open_nth_item(0) + + expect { click '.pagination .previous' }.not_to change { current_url } + end + + it 'next is clickable for the first item' do + open_nth_item(0) + + expect { click '.pagination .next' }.to change { current_url } + end + + it 'previous is clickable for the middle item' do + open_nth_item(1) + + expect { click '.pagination .previous' }.to change { current_url } + end + + it 'next is clickable for the middle item' do + open_nth_item(1) + + expect { click '.pagination .next' }.to change { current_url } + end + + it 'previous is clickable for the last item' do + open_nth_item(2) + + expect { click '.pagination .previous' }.to change { current_url } + end + + it 'next is not clickable for the last item' do + open_nth_item(2) + + expect { click '.pagination .next' }.not_to change { current_url } + end + + def open_nth_item(nth) + within :active_content do + find_all('.table tr.item .user-popover')[nth].click + end + end end end