summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/features/projects/members/list_spec.rb41
-rw-r--r--spec/frontend/issue_spec.js3
-rw-r--r--spec/frontend/notes/stores/actions_spec.js3
-rw-r--r--spec/models/ci/pipeline_spec.rb22
-rw-r--r--spec/support/shared_contexts/policies/project_policy_table_shared_context.rb2
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