Init GLForm instance on form while editing tags
This commit is contained in:
parent
e055f7d3ca
commit
eb44dc25a1
|
@ -0,0 +1,8 @@
|
|||
import $ from 'jquery';
|
||||
import ZenMode from '~/zen_mode';
|
||||
import GLForm from '~/gl_form';
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
new ZenMode(); // eslint-disable-line no-new
|
||||
new GLForm($('.release-form')); // eslint-disable-line no-new
|
||||
});
|
|
@ -28,7 +28,7 @@
|
|||
= render 'projects/buttons/download', project: @project, ref: tag.name, pipeline: @tags_pipelines[tag.name]
|
||||
|
||||
- if can?(current_user, :push_code, @project)
|
||||
= link_to edit_project_tag_release_path(@project, tag.name), class: 'btn has-tooltip', title: s_('TagsPage|Edit release notes'), data: { container: "body" } do
|
||||
= link_to edit_project_tag_release_path(@project, tag.name), class: 'btn btn-edit has-tooltip', title: s_('TagsPage|Edit release notes'), data: { container: "body" } do
|
||||
= icon("pencil")
|
||||
|
||||
- if can?(current_user, :admin_project, @project)
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
.nav-controls.controls-flex
|
||||
- if can?(current_user, :push_code, @project)
|
||||
= link_to edit_project_tag_release_path(@project, @tag.name), class: 'btn controls-item has-tooltip', title: s_('TagsPage|Edit release notes') do
|
||||
= link_to edit_project_tag_release_path(@project, @tag.name), class: 'btn btn-edit controls-item has-tooltip', title: s_('TagsPage|Edit release notes') do
|
||||
= icon("pencil")
|
||||
= link_to project_tree_path(@project, @tag.name), class: 'btn controls-item has-tooltip', title: s_('TagsPage|Browse files') do
|
||||
= icon('files-o')
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Fix form functionality for edit tag page
|
||||
merge_request: 24645
|
||||
author:
|
||||
type: fixed
|
|
@ -0,0 +1,82 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
describe 'Project > Tags', :js do
|
||||
include DropzoneHelper
|
||||
|
||||
let(:user) { create(:user) }
|
||||
let(:role) { :developer }
|
||||
let(:project) { create(:project, :repository) }
|
||||
|
||||
before do
|
||||
sign_in(user)
|
||||
project.add_role(user, role)
|
||||
end
|
||||
|
||||
describe 'when opening project tags' do
|
||||
before do
|
||||
visit project_tags_path(project)
|
||||
end
|
||||
|
||||
context 'page with tags list' do
|
||||
it 'shows tag name' do
|
||||
page.within first('.tags > .content-list > li') do
|
||||
expect(page.find('.row-main-content')).to have_content 'v1.1.0 Version 1.1.0'
|
||||
end
|
||||
end
|
||||
|
||||
it 'shows tag edit button' do
|
||||
page.within first('.tags > .content-list > li') do
|
||||
edit_btn = page.find('.row-fixed-content.controls a.btn-edit')
|
||||
|
||||
expect(edit_btn['href']).to have_content '/tags/v1.1.0/release/edit'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'edit tag release notes' do
|
||||
before do
|
||||
find('.tags > .content-list > li:first-child .row-fixed-content.controls a.btn-edit').click
|
||||
end
|
||||
|
||||
it 'shows tag name header' do
|
||||
page.within('.content') do
|
||||
expect(page.find('.sub-header-block')).to have_content 'Release notes for tag v1.1.0'
|
||||
end
|
||||
end
|
||||
|
||||
it 'shows release notes form' do
|
||||
page.within('.content') do
|
||||
expect(page).to have_selector('form.release-form')
|
||||
end
|
||||
end
|
||||
|
||||
it 'toolbar buttons on release notes form are functional' do
|
||||
page.within('.content form.release-form') do
|
||||
note_textarea = page.find('.js-gfm-input')
|
||||
|
||||
# Click on Bold button
|
||||
page.find('.md-header-toolbar button.toolbar-btn:first-child').click
|
||||
|
||||
expect(note_textarea.value).to eq('****')
|
||||
end
|
||||
end
|
||||
|
||||
it 'release notes form shows "Attach a file" button', :js do
|
||||
page.within('.content form.release-form') do
|
||||
expect(page).to have_button('Attach a file')
|
||||
expect(page).not_to have_selector('.uploading-progress-container', visible: true)
|
||||
end
|
||||
end
|
||||
|
||||
it 'shows "Attaching a file" message on uploading 1 file', :js do
|
||||
slow_requests do
|
||||
dropzone_file([Rails.root.join('spec', 'fixtures', 'dk.png')], 0, false)
|
||||
|
||||
expect(page).to have_selector('.attaching-file-message', visible: true, text: 'Attaching a file -')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue