2018-10-15 14:42:47 +05:30
|
|
|
require 'spec_helper'
|
|
|
|
|
2018-11-08 19:23:39 +05:30
|
|
|
describe 'Template selector menu', :js do
|
2018-10-15 14:42:47 +05:30
|
|
|
let(:project) { create(:project, :repository) }
|
|
|
|
let(:user) { create(:user) }
|
|
|
|
|
|
|
|
before do
|
2018-11-18 11:00:15 +05:30
|
|
|
project.add_maintainer(user)
|
2018-10-15 14:42:47 +05:30
|
|
|
sign_in user
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'editing a non-matching file' do
|
|
|
|
before do
|
|
|
|
create_and_edit_file('README.md')
|
|
|
|
end
|
|
|
|
|
2018-11-08 19:23:39 +05:30
|
|
|
it 'is not displayed' do
|
2018-10-15 14:42:47 +05:30
|
|
|
check_template_selector_menu_display(false)
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'user toggles preview' do
|
|
|
|
before do
|
|
|
|
click_link 'Preview'
|
|
|
|
end
|
|
|
|
|
2018-11-08 19:23:39 +05:30
|
|
|
it 'template selector menu is not displayed' do
|
2018-10-15 14:42:47 +05:30
|
|
|
check_template_selector_menu_display(false)
|
|
|
|
click_link 'Write'
|
|
|
|
check_template_selector_menu_display(false)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'editing a matching file' do
|
|
|
|
before do
|
|
|
|
visit project_edit_blob_path(project, File.join(project.default_branch, 'LICENSE'))
|
|
|
|
end
|
|
|
|
|
2018-11-08 19:23:39 +05:30
|
|
|
it 'is displayed' do
|
2018-10-15 14:42:47 +05:30
|
|
|
check_template_selector_menu_display(true)
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'user toggles preview' do
|
|
|
|
before do
|
|
|
|
click_link 'Preview'
|
|
|
|
end
|
|
|
|
|
2018-11-08 19:23:39 +05:30
|
|
|
it 'template selector menu is hidden and shown correctly' do
|
2018-10-15 14:42:47 +05:30
|
|
|
check_template_selector_menu_display(false)
|
|
|
|
click_link 'Write'
|
|
|
|
check_template_selector_menu_display(true)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def check_template_selector_menu_display(is_visible)
|
|
|
|
count = is_visible ? 1 : 0
|
|
|
|
expect(page).to have_css('.template-selectors-menu', count: count)
|
|
|
|
end
|
|
|
|
|
|
|
|
def create_and_edit_file(file_name)
|
|
|
|
visit project_new_blob_path(project, 'master', file_name: file_name)
|
|
|
|
click_button "Commit changes"
|
|
|
|
visit project_edit_blob_path(project, File.join(project.default_branch, file_name))
|
|
|
|
end
|