File: inline_view_component_spec.rb

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (39 lines) | stat: -rw-r--r-- 1,063 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# frozen_string_literal: true

require "spec_helper"

RSpec.describe RapidDiffs::Viewers::Text::InlineViewComponent, type: :component, feature_category: :code_review_workflow do
  let_it_be(:diff_file) { build(:diff_file) }

  it "renders inline lines" do
    diff_file.viewer_hunks.each_with_index do |hunk, index|
      allow_next_instances_of(
        RapidDiffs::Viewers::Text::InlineHunkComponent,
        index + 1,
        diff_file: diff_file,
        diff_hunk: hunk
      ) do |instance|
        allow(instance).to receive(:render_in).and_return('hunk-view')
      end
    end
    render_component
    expect(page).to have_text('hunk-view', count: diff_file.viewer_hunks.count)
  end

  it "renders headings" do
    render_component
    page_text = page.native.inner_html
    headings = [
      'Original line number',
      'Diff line number',
      'Diff line'
    ]
    headings.each do |heading|
      expect(page_text).to include(heading)
    end
  end

  def render_component
    render_inline(described_class.new(diff_file: diff_file))
  end
end