summaryrefslogtreecommitdiff
path: root/spec/features/projects/files/files_sort_submodules_with_folders_spec.rb
blob: 0e43f2fd26b23a4c3182cd4297f9bb3f2c8cbb91 (plain)
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
# frozen_string_literal: true

require 'spec_helper'

describe 'Projects > Files > User views files page' do
  let(:project) { create(:forked_project_with_submodules) }
  let(:user) { project.owner }

  before do
    stub_feature_flags(vue_file_list: false)

    sign_in user
    visit project_tree_path(project, project.repository.root_ref)
  end

  it 'user sees folders and submodules sorted together, followed by files' do
    rows = all('td.tree-item-file-name').map(&:text)
    tree = project.repository.tree

    folders = tree.trees.map(&:name)
    files = tree.blobs.map(&:name)
    submodules = tree.submodules.map do |submodule|
      submodule.name + " @ " + submodule.id[0..7]
    end

    sorted_titles = (folders + submodules).sort + files

    expect(rows).to eq(sorted_titles)
  end
end