diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
commit | 85dc423f7090da0a52c73eb66faf22ddb20efff9 (patch) | |
tree | 9160f299afd8c80c038f08e1545be119f5e3f1e1 /spec/features/projects/issues/design_management | |
parent | 15c2c8c66dbe422588e5411eee7e68f1fa440bb8 (diff) | |
download | gitlab-ce-85dc423f7090da0a52c73eb66faf22ddb20efff9.tar.gz |
Add latest changes from gitlab-org/gitlab@13-4-stable-ee
Diffstat (limited to 'spec/features/projects/issues/design_management')
5 files changed, 61 insertions, 222 deletions
diff --git a/spec/features/projects/issues/design_management/user_paginates_designs_spec.rb b/spec/features/projects/issues/design_management/user_paginates_designs_spec.rb index aff8951d9de..908e30478b2 100644 --- a/spec/features/projects/issues/design_management/user_paginates_designs_spec.rb +++ b/spec/features/projects/issues/design_management/user_paginates_designs_spec.rb @@ -8,57 +8,26 @@ RSpec.describe 'User paginates issue designs', :js do let(:project) { create(:project_empty_repo, :public) } let(:issue) { create(:issue, project: project) } - context 'design_management_moved flag disabled' do - before do - stub_feature_flags(design_management_moved: false) - enable_design_management - - create_list(:design, 2, :with_file, issue: issue) - visit project_issue_path(project, issue) - click_link 'Designs' - wait_for_requests - find('.js-design-list-item', match: :first).click - end - - it 'paginates to next design' do - expect(find('.js-previous-design')[:disabled]).to eq('true') - - page.within(find('.js-design-header')) do - expect(page).to have_content('1 of 2') - end - - find('.js-next-design').click - - expect(find('.js-previous-design')[:disabled]).not_to eq('true') - - page.within(find('.js-design-header')) do - expect(page).to have_content('2 of 2') - end - end + before do + enable_design_management + create_list(:design, 2, :with_file, issue: issue) + visit project_issue_path(project, issue) + find('.js-design-list-item', match: :first).click end - context 'design_management_moved flag enabled' do - before do - enable_design_management - create_list(:design, 2, :with_file, issue: issue) - visit project_issue_path(project, issue) - find('.js-design-list-item', match: :first).click - end + it 'paginates to next design' do + expect(find('.js-previous-design')[:disabled]).to eq('true') - it 'paginates to next design' do - expect(find('.js-previous-design')[:disabled]).to eq('true') - - page.within(find('.js-design-header')) do - expect(page).to have_content('1 of 2') - end + page.within(find('.js-design-header')) do + expect(page).to have_content('1 of 2') + end - find('.js-next-design').click + find('.js-next-design').click - expect(find('.js-previous-design')[:disabled]).not_to eq('true') + expect(find('.js-previous-design')[:disabled]).not_to eq('true') - page.within(find('.js-design-header')) do - expect(page).to have_content('2 of 2') - end + page.within(find('.js-design-header')) do + expect(page).to have_content('2 of 2') end end end diff --git a/spec/features/projects/issues/design_management/user_permissions_upload_spec.rb b/spec/features/projects/issues/design_management/user_permissions_upload_spec.rb index 4e45312eac3..cfd8a4540ee 100644 --- a/spec/features/projects/issues/design_management/user_permissions_upload_spec.rb +++ b/spec/features/projects/issues/design_management/user_permissions_upload_spec.rb @@ -8,32 +8,13 @@ RSpec.describe 'User design permissions', :js do let(:project) { create(:project_empty_repo, :public) } let(:issue) { create(:issue, project: project) } - context 'design_management_moved flag disabled' do - before do - enable_design_management - stub_feature_flags(design_management_moved: false) + before do + enable_design_management - visit project_issue_path(project, issue) - - click_link 'Designs' - - wait_for_requests - end - - it 'user does not have permissions to upload design' do - expect(page).not_to have_field('design_file') - end + visit project_issue_path(project, issue) end - context 'design_management_moved flag enabled' do - before do - enable_design_management - - visit project_issue_path(project, issue) - end - - it 'user does not have permissions to upload design' do - expect(page).not_to have_field('design_file') - end + it 'user does not have permissions to upload design' do + expect(page).not_to have_field('design_file') end end diff --git a/spec/features/projects/issues/design_management/user_uploads_designs_spec.rb b/spec/features/projects/issues/design_management/user_uploads_designs_spec.rb index 29a27992a0d..de1fcc9d787 100644 --- a/spec/features/projects/issues/design_management/user_uploads_designs_spec.rb +++ b/spec/features/projects/issues/design_management/user_uploads_designs_spec.rb @@ -11,81 +11,34 @@ RSpec.describe 'User uploads new design', :js do before do sign_in(user) + enable_design_management(feature_enabled) + visit project_issue_path(project, issue) end - context 'design_management_moved flag disabled' do - before do - enable_design_management(feature_enabled) - stub_feature_flags(design_management_moved: false) - visit project_issue_path(project, issue) + context "when the feature is available" do + let(:feature_enabled) { true } - click_link 'Designs' + it 'uploads designs' do + upload_design(logo_fixture, count: 1) - wait_for_requests - end - - context "when the feature is available" do - let(:feature_enabled) { true } - - it 'uploads designs' do - upload_design(logo_fixture, count: 1) - - expect(page).to have_selector('.js-design-list-item', count: 1) - - within first('#designs-tab .js-design-list-item') do - expect(page).to have_content('dk.png') - end + expect(page).to have_selector('.js-design-list-item', count: 1) - upload_design(gif_fixture, count: 2) - - # Known bug in the legacy implementation: new designs are inserted - # in the beginning on the frontend. - expect(page).to have_selector('.js-design-list-item', count: 2) - expect(page.all('.js-design-list-item').map(&:text)).to eq(['banana_sample.gif', 'dk.png']) + within first('[data-testid="designs-root"] .js-design-list-item') do + expect(page).to have_content('dk.png') end - end - context 'when the feature is not available' do - let(:feature_enabled) { false } + upload_design(gif_fixture, count: 2) - it 'shows the message about requirements' do - expect(page).to have_content("To upload designs, you'll need to enable LFS.") - end + expect(page).to have_selector('.js-design-list-item', count: 2) + expect(page.all('.js-design-list-item').map(&:text)).to eq(['dk.png', 'banana_sample.gif']) end end - context 'design_management_moved flag enabled' do - before do - enable_design_management(feature_enabled) - stub_feature_flags(design_management_moved: true) - visit project_issue_path(project, issue) - end - - context "when the feature is available" do - let(:feature_enabled) { true } + context 'when the feature is not available' do + let(:feature_enabled) { false } - it 'uploads designs' do - upload_design(logo_fixture, count: 1) - - expect(page).to have_selector('.js-design-list-item', count: 1) - - within first('[data-testid="designs-root"] .js-design-list-item') do - expect(page).to have_content('dk.png') - end - - upload_design(gif_fixture, count: 2) - - expect(page).to have_selector('.js-design-list-item', count: 2) - expect(page.all('.js-design-list-item').map(&:text)).to eq(['dk.png', 'banana_sample.gif']) - end - end - - context 'when the feature is not available' do - let(:feature_enabled) { false } - - it 'shows the message about requirements' do - expect(page).to have_content("To upload designs, you'll need to enable LFS.") - end + it 'shows the message about requirements' do + expect(page).to have_content("To upload designs, you'll need to enable LFS and have admin enable hashed storage.") end end diff --git a/spec/features/projects/issues/design_management/user_views_design_spec.rb b/spec/features/projects/issues/design_management/user_views_design_spec.rb index 49245218e81..b513a4fe3fa 100644 --- a/spec/features/projects/issues/design_management/user_views_design_spec.rb +++ b/spec/features/projects/issues/design_management/user_views_design_spec.rb @@ -9,42 +9,19 @@ RSpec.describe 'User views issue designs', :js do let_it_be(:issue) { create(:issue, project: project) } let_it_be(:design) { create(:design, :with_file, issue: issue) } - context 'design_management_moved flag disabled' do - before do - enable_design_management - stub_feature_flags(design_management_moved: false) + before do + enable_design_management - visit project_issue_path(project, issue) - - click_link 'Designs' - end - - it 'opens design detail' do - click_link design.filename - - page.within(find('.js-design-header')) do - expect(page).to have_content(design.filename) - end - - expect(page).to have_selector('.js-design-image') - end + visit project_issue_path(project, issue) end - context 'design_management_moved flag enabled' do - before do - enable_design_management + it 'opens design detail' do + click_link design.filename - visit project_issue_path(project, issue) + page.within(find('.js-design-header')) do + expect(page).to have_content(design.filename) end - it 'opens design detail' do - click_link design.filename - - page.within(find('.js-design-header')) do - expect(page).to have_content(design.filename) - end - - expect(page).to have_selector('.js-design-image') - end + expect(page).to have_selector('.js-design-image') end end diff --git a/spec/features/projects/issues/design_management/user_views_designs_spec.rb b/spec/features/projects/issues/design_management/user_views_designs_spec.rb index 772a9ffbe6f..46c772027ad 100644 --- a/spec/features/projects/issues/design_management/user_views_designs_spec.rb +++ b/spec/features/projects/issues/design_management/user_views_designs_spec.rb @@ -9,78 +9,37 @@ RSpec.describe 'User views issue designs', :js do let_it_be(:issue) { create(:issue, project: project) } let_it_be(:design) { create(:design, :with_file, issue: issue) } - context 'design_management_moved flag disabled' do - before do - enable_design_management - stub_feature_flags(design_management_moved: false) - end - - context 'navigates from the issue view' do - before do - visit project_issue_path(project, issue) - click_link 'Designs' - wait_for_requests - end - - it 'fetches list of designs' do - expect(page).to have_selector('.js-design-list-item', count: 1) - end - end - - context 'navigates directly to the design collection view' do - before do - visit designs_project_issue_path(project, issue) - end + before do + enable_design_management + end - it 'expands the sidebar' do - expect(page).to have_selector('.layout-page.right-sidebar-expanded') - end + context 'navigates from the issue view' do + before do + visit project_issue_path(project, issue) end - context 'navigates directly to the individual design view' do - before do - visit designs_project_issue_path(project, issue, vueroute: design.filename) - end - - it 'sees the design' do - expect(page).to have_selector('.js-design-detail') - end + it 'fetches list of designs' do + expect(page).to have_selector('.js-design-list-item', count: 1) end end - context 'design_management_moved flag enabled' do + context 'navigates directly to the design collection view' do before do - enable_design_management + visit designs_project_issue_path(project, issue) end - context 'navigates from the issue view' do - before do - visit project_issue_path(project, issue) - end - - it 'fetches list of designs' do - expect(page).to have_selector('.js-design-list-item', count: 1) - end + it 'expands the sidebar' do + expect(page).to have_selector('.layout-page.right-sidebar-expanded') end + end - context 'navigates directly to the design collection view' do - before do - visit designs_project_issue_path(project, issue) - end - - it 'expands the sidebar' do - expect(page).to have_selector('.layout-page.right-sidebar-expanded') - end + context 'navigates directly to the individual design view' do + before do + visit designs_project_issue_path(project, issue, vueroute: design.filename) end - context 'navigates directly to the individual design view' do - before do - visit designs_project_issue_path(project, issue, vueroute: design.filename) - end - - it 'sees the design' do - expect(page).to have_selector('.js-design-detail') - end + it 'sees the design' do + expect(page).to have_selector('.js-design-detail') end end end |