2016-07-19 15:26:41 -04:00
|
|
|
require 'rails_helper'
|
|
|
|
|
2017-10-03 04:35:01 -04:00
|
|
|
feature 'Ref switcher', :js do
|
2016-07-19 15:26:41 -04:00
|
|
|
let(:user) { create(:user) }
|
2017-07-24 18:51:14 -04:00
|
|
|
let(:project) { create(:project, :public, :repository) }
|
2016-07-19 15:26:41 -04:00
|
|
|
|
|
|
|
before do
|
|
|
|
project.team << [user, :master]
|
2017-10-23 06:57:23 -04:00
|
|
|
page.driver.set_cookie('new_repo', 'true')
|
2017-06-21 19:44:10 -04:00
|
|
|
sign_in(user)
|
2017-07-06 12:20:50 -04:00
|
|
|
visit project_tree_path(project, 'master')
|
2016-07-19 15:26:41 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
it 'allow user to change ref by enter key' do
|
|
|
|
click_button 'master'
|
2017-05-17 14:25:13 -04:00
|
|
|
wait_for_requests
|
2016-07-19 15:26:41 -04:00
|
|
|
|
|
|
|
page.within '.project-refs-form' do
|
|
|
|
input = find('input[type="search"]')
|
2016-11-07 11:58:50 -05:00
|
|
|
input.set 'binary'
|
2017-05-17 14:25:13 -04:00
|
|
|
wait_for_requests
|
2016-07-19 15:26:41 -04:00
|
|
|
|
2017-07-25 12:57:02 -04:00
|
|
|
expect(find('.dropdown-content ul')).to have_selector('li', count: 7)
|
2017-02-20 05:28:45 -05:00
|
|
|
|
2017-02-10 11:44:42 -05:00
|
|
|
page.within '.dropdown-content ul' do
|
|
|
|
input.native.send_keys :enter
|
|
|
|
end
|
2016-10-28 09:38:10 -04:00
|
|
|
end
|
|
|
|
|
2017-07-25 12:57:02 -04:00
|
|
|
expect(page).to have_title 'add-pdf-text-binary'
|
2016-10-28 09:38:10 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
it "user selects ref with special characters" do
|
|
|
|
click_button 'master'
|
2017-05-17 14:25:13 -04:00
|
|
|
wait_for_requests
|
2016-07-19 15:26:41 -04:00
|
|
|
|
2016-10-28 09:38:10 -04:00
|
|
|
page.within '.project-refs-form' do
|
|
|
|
page.fill_in 'Search branches and tags', with: "'test'"
|
|
|
|
click_link "'test'"
|
2016-07-19 15:26:41 -04:00
|
|
|
end
|
2016-10-28 09:38:10 -04:00
|
|
|
|
|
|
|
expect(page).to have_title "'test'"
|
2016-07-19 15:26:41 -04:00
|
|
|
end
|
2017-10-23 06:57:23 -04:00
|
|
|
|
|
|
|
context "create branch" do
|
|
|
|
let(:input) { find('.js-new-branch-name') }
|
|
|
|
|
|
|
|
before do
|
|
|
|
click_button 'master'
|
|
|
|
wait_for_requests
|
|
|
|
|
|
|
|
page.within '.project-refs-form' do
|
|
|
|
find(".dropdown-footer-list a").click
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
it "shows error message for the invalid branch name" do
|
|
|
|
input.set 'foo bar'
|
|
|
|
click_button('Create')
|
|
|
|
wait_for_requests
|
|
|
|
expect(page).to have_content 'Branch name is invalid'
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should create new branch properly" do
|
|
|
|
input.set 'new-branch-name'
|
|
|
|
click_button('Create')
|
|
|
|
wait_for_requests
|
|
|
|
expect(find('.js-project-refs-dropdown')).to have_content 'new-branch-name'
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should create new branch by Enter key" do
|
|
|
|
input.set 'new-branch-name-2'
|
|
|
|
input.native.send_keys :enter
|
|
|
|
wait_for_requests
|
|
|
|
expect(find('.js-project-refs-dropdown')).to have_content 'new-branch-name-2'
|
|
|
|
end
|
|
|
|
end
|
2016-07-19 15:26:41 -04:00
|
|
|
end
|