diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/features/projects/members/list_spec.rb | 41 | ||||
| -rw-r--r-- | spec/frontend/issue_spec.js | 3 | ||||
| -rw-r--r-- | spec/frontend/notes/stores/actions_spec.js | 3 | ||||
| -rw-r--r-- | spec/models/ci/pipeline_spec.rb | 22 | ||||
| -rw-r--r-- | spec/support/shared_contexts/policies/project_policy_table_shared_context.rb | 2 |
5 files changed, 41 insertions, 30 deletions
diff --git a/spec/features/projects/members/list_spec.rb b/spec/features/projects/members/list_spec.rb index 7cace8e08dd..f1fc3927b03 100644 --- a/spec/features/projects/members/list_spec.rb +++ b/spec/features/projects/members/list_spec.rb @@ -11,7 +11,7 @@ RSpec.describe 'Project members list' do let(:project) { create(:project, :internal, namespace: group) } before do - stub_feature_flags(invite_members_group_modal: false) + stub_feature_flags(invite_members_group_modal: true) sign_in(user1) group.add_owner(user1) @@ -60,13 +60,30 @@ RSpec.describe 'Project members list' do it 'add user to project', :js do visit_members_page - add_user(user2.id, 'Reporter') + add_user(user2.name, 'Reporter') page.within find_member_row(user2) do expect(page).to have_button('Reporter') end end + it 'uses ProjectMember access_level_roles for the invite members modal access option', :js do + visit_members_page + + click_on 'Invite members' + + click_on 'Guest' + wait_for_requests + + page.within '.dropdown-menu' do + expect(page).to have_button('Guest') + expect(page).to have_button('Reporter') + expect(page).to have_button('Developer') + expect(page).to have_button('Maintainer') + expect(page).not_to have_button('Owner') + end + end + it 'remove user from project', :js do other_user = create(:user) project.add_developer(other_user) @@ -202,7 +219,7 @@ RSpec.describe 'Project members list' do it 'add user to project', :js do visit_members_page - add_user(user2.id, 'Reporter') + add_user(user2.name, 'Reporter') page.within(second_row) do expect(page).to have_content(user2.name) @@ -264,12 +281,22 @@ RSpec.describe 'Project members list' do private def add_user(id, role) - page.within ".invite-users-form" do - select2(id, from: "#user_ids", multiple: true) - select(role, from: "access_level") + click_on 'Invite members' + + page.within '#invite-members-modal' do + fill_in 'Search for members to invite', with: id + + wait_for_requests + click_button id + + click_button 'Guest' + wait_for_requests + click_button role + + click_button 'Invite' end - click_button "Invite" + page.refresh end def visit_members_page diff --git a/spec/frontend/issue_spec.js b/spec/frontend/issue_spec.js index 19f7e6bd5a9..970fdacd492 100644 --- a/spec/frontend/issue_spec.js +++ b/spec/frontend/issue_spec.js @@ -1,6 +1,7 @@ import { getByText } from '@testing-library/dom'; import MockAdapter from 'axios-mock-adapter'; -import Issue, { EVENT_ISSUABLE_VUE_APP_CHANGE } from '~/issue'; +import { EVENT_ISSUABLE_VUE_APP_CHANGE } from '~/issuable/constants'; +import Issue from '~/issue'; import axios from '~/lib/utils/axios_utils'; describe('Issue', () => { diff --git a/spec/frontend/notes/stores/actions_spec.js b/spec/frontend/notes/stores/actions_spec.js index 27024997530..f972ff0d2e4 100644 --- a/spec/frontend/notes/stores/actions_spec.js +++ b/spec/frontend/notes/stores/actions_spec.js @@ -3,6 +3,7 @@ import testAction from 'helpers/vuex_action_helper'; import { TEST_HOST } from 'spec/test_constants'; import Api from '~/api'; import { deprecatedCreateFlash as Flash } from '~/flash'; +import { EVENT_ISSUABLE_VUE_APP_CHANGE } from '~/issuable/constants'; import axios from '~/lib/utils/axios_utils'; import * as notesConstants from '~/notes/constants'; import createStore from '~/notes/stores'; @@ -202,7 +203,7 @@ describe('Actions Notes Store', () => { describe('emitStateChangedEvent', () => { it('emits an event on the document', () => { - document.addEventListener('issuable_vue_app:change', (event) => { + document.addEventListener(EVENT_ISSUABLE_VUE_APP_CHANGE, (event) => { expect(event.detail.data).toEqual({ id: '1', state: 'closed' }); expect(event.detail.isClosed).toEqual(false); }); diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb index a4a10aaeb31..a487ba86bbf 100644 --- a/spec/models/ci/pipeline_spec.rb +++ b/spec/models/ci/pipeline_spec.rb @@ -373,8 +373,8 @@ RSpec.describe Ci::Pipeline, :mailer, factory_default: :keep do end end - describe '#merge_request_pipeline?' do - subject { pipeline.merge_request_pipeline? } + describe '#merged_result_pipeline?' do + subject { pipeline.merged_result_pipeline? } let!(:pipeline) do create(:ci_pipeline, source: :merge_request_event, merge_request: merge_request, target_sha: target_sha) @@ -422,24 +422,6 @@ RSpec.describe Ci::Pipeline, :mailer, factory_default: :keep do end end - describe '#for_merged_result?' do - subject { pipeline.for_merged_result? } - - let(:pipeline) { merge_request.all_pipelines.last } - - context 'when pipeline is merge request pipeline' do - let(:merge_request) { create(:merge_request, :with_merge_request_pipeline) } - - it { is_expected.to be_truthy } - end - - context 'when pipeline is detached merge request pipeline' do - let(:merge_request) { create(:merge_request, :with_detached_merge_request_pipeline) } - - it { is_expected.to be_falsey } - end - end - describe '#legacy_detached_merge_request_pipeline?' do subject { pipeline.legacy_detached_merge_request_pipeline? } diff --git a/spec/support/shared_contexts/policies/project_policy_table_shared_context.rb b/spec/support/shared_contexts/policies/project_policy_table_shared_context.rb index 8c9a60fa703..fbd82fbbe31 100644 --- a/spec/support/shared_contexts/policies/project_policy_table_shared_context.rb +++ b/spec/support/shared_contexts/policies/project_policy_table_shared_context.rb @@ -356,7 +356,7 @@ RSpec.shared_context 'ProjectPolicyTable context' do :private | :anonymous | 0 end - # :snippet_level, :project_level, :feature_access_level, :membership, :expected_count + # :snippet_level, :project_level, :feature_access_level, :membership, :admin_mode, :expected_count def permission_table_for_project_snippet_access :public | :public | :enabled | :admin | true | 1 :public | :public | :enabled | :admin | false | 1 |
