Add feature spec coverage for the project artifacts page

Problem

The project artifacts page manages files that users delete, both singly and in bulk. It also paginates results and enforces permissions. Only one feature spec covers this page: spec/features/projects/artifacts/user_views_project_artifacts_page_spec.rb. It has one example. That example checks table headers, expands rows, and checks three file-type labels. It does not check any other behaviour.

The page moved to Vue 3 behind the vue3_migrate_artifacts feature flag in !250423 (merged). That work was checked by hand in a browser. Feature specs would catch a regression in these flows without a manual pass.

Missing coverage

  • Single artifact delete: confirm modal, row removal, job stays expanded.
  • Bulk delete: per-row checkboxes, select-all checkbox with three states, the "N artifacts selected" banner, the Clear selection button, the confirm modal, and the success toast.
  • Keyset pagination: Previous and Next buttons, cursors in the URL query string, browser Back.
  • Permission gating: when the user cannot delete artifacts, no checkbox or Delete control appears.
  • The "Expired" badge on an artifact past its expiry date.
  • Download and Browse buttons disabled when a job has no archive or no metadata.

Proposal

Extend spec/features/projects/artifacts/user_views_project_artifacts_page_spec.rb with new examples for the items above. Jest specs in spec/frontend/ci/artifacts/ already cover component logic. The gap is browser-level coverage of user-visible flows.

Implementation notes

  • Assert raw literal strings in expectations. Do not call the s_, _, or n_ translation helpers.
  • Do not mention Vue in the specs. Describe user-visible behaviour only, so the tests hold for any framework.