require 'spec_helper' describe 'User find project file' do let(:user) { create :user } let(:project) { create :project, :repository } before do sign_in(user) project.add_maintainer(user) visit project_tree_path(project, project.repository.root_ref) end def active_main_tab find('.sidebar-top-level-items > li.active') end def find_file(text) fill_in 'file_find', with: text end it 'navigates to find file by shortcut', :js do find('body').native.send_key('t') expect(active_main_tab).to have_content('Repository') expect(page).to have_selector('.file-finder-holder', count: 1) end it 'navigates to find file' do click_link 'Find file' expect(active_main_tab).to have_content('Repository') expect(page).to have_selector('.file-finder-holder', count: 1) end it 'searches CHANGELOG file', :js do click_link 'Find file' find_file 'change' expect(page).to have_content('CHANGELOG') expect(page).not_to have_content('.gitignore') expect(page).not_to have_content('VERSION') end it 'does not find file when search not exist file', :js do click_link 'Find file' find_file 'asdfghjklqwertyuizxcvbnm' expect(page).not_to have_content('CHANGELOG') expect(page).not_to have_content('.gitignore') expect(page).not_to have_content('VERSION') end it 'searches file by partially matches', :js do click_link 'Find file' find_file 'git' expect(page).to have_content('.gitignore') expect(page).to have_content('.gitmodules') expect(page).not_to have_content('CHANGELOG') expect(page).not_to have_content('VERSION') end end