diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-09 00:09:11 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-09 00:09:11 +0000 |
commit | f44bf01f69a491d4dfca8d631b390371bd0eec7a (patch) | |
tree | 873c673d96a75212485d5bfe808451798f6134fa /spec | |
parent | 83fc2f3dc81052cad76addb44726876ba1d0f156 (diff) | |
download | gitlab-ce-f44bf01f69a491d4dfca8d631b390371bd0eec7a.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
5 files changed, 86 insertions, 6 deletions
diff --git a/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_button_spec.js b/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_button_spec.js index d02d924bd2b..79851e5db05 100644 --- a/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_button_spec.js +++ b/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_button_spec.js @@ -82,10 +82,9 @@ describe('DropdownButtonComponent', () => { }); it('renders dropdown button icon', () => { - const dropdownIconEl = vm.$el.querySelector('i.fa'); + const dropdownIconEl = vm.$el.querySelector('.dropdown-menu-toggle .gl-icon'); expect(dropdownIconEl).not.toBeNull(); - expect(dropdownIconEl.classList.contains('fa-chevron-down')).toBe(true); }); }); }); diff --git a/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_search_input_spec.js b/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_search_input_spec.js index 035af946d75..510e537b1cd 100644 --- a/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_search_input_spec.js +++ b/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_search_input_spec.js @@ -29,13 +29,11 @@ describe('DropdownSearchInputComponent', () => { }); it('renders search icon element', () => { - expect(vm.$el.querySelector('.fa-search.dropdown-input-search')).not.toBeNull(); + expect(vm.$el.querySelector('.dropdown-input-search')).not.toBeNull(); }); it('renders clear search icon element', () => { - expect( - vm.$el.querySelector('.fa-times.dropdown-input-clear.js-dropdown-input-clear'), - ).not.toBeNull(); + expect(vm.$el.querySelector('.dropdown-input-clear.js-dropdown-input-clear')).not.toBeNull(); }); }); }); diff --git a/spec/serializers/fork_namespace_entity_spec.rb b/spec/serializers/fork_namespace_entity_spec.rb new file mode 100644 index 00000000000..7ce6b77da44 --- /dev/null +++ b/spec/serializers/fork_namespace_entity_spec.rb @@ -0,0 +1,70 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe ForkNamespaceEntity do + include Gitlab::Routing.url_helpers + include ProjectForksHelper + + let_it_be(:user) { create(:user) } + let_it_be(:project) { create(:project) } + + let(:namespace) { create(:group, :with_avatar, description: 'test') } + let(:entity) { described_class.new(namespace, current_user: user, project: project) } + + subject(:json) { entity.as_json } + + before do + project.add_maintainer(user) + end + + it 'renders json' do + is_expected.not_to be_nil + end + + %w[id + name + description + markdown_description + visibility + full_name + created_at + updated_at + avatar_url].each do |attribute| + it "includes #{attribute}" do + expect(json[attribute.to_sym]).to be_present + end + end + + it 'exposes path for forking project to the namespace' do + expect(json[:fork_path]).to eq project_forks_path(project, namespace_key: namespace.id) + end + + it 'exposes forked_project_path when fork exists in namespace' do + namespace.add_maintainer(user) + fork_in_namespace = fork_project(project, user, namespace: namespace) + + expect(json[:forked_project_path]).to eql project_path(fork_in_namespace) + end + + it 'exposes relative path to the namespace' do + expect(json[:relative_path]).to eql polymorphic_path(namespace) + end + + it 'exposes human readable permission level' do + namespace.add_developer(user) + expect(json[:permission]).to eql 'Developer' + end + + it 'sets can_create_project to true when user can create projects in namespace' do + allow(user).to receive(:can?).with(:create_projects, namespace).and_return(true) + + expect(json[:can_create_project]).to be true + end + + it 'sets can_create_project to false when user is not allowed create projects in namespace' do + allow(user).to receive(:can?).with(:create_projects, namespace).and_return(false) + + expect(json[:can_create_project]).to be false + end +end diff --git a/spec/serializers/fork_namespace_serializer_spec.rb b/spec/serializers/fork_namespace_serializer_spec.rb new file mode 100644 index 00000000000..6793b900af6 --- /dev/null +++ b/spec/serializers/fork_namespace_serializer_spec.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe ForkNamespaceSerializer do + it 'represents ForkNamespaceEntity entities' do + expect(described_class.entity_class).to eq(ForkNamespaceEntity) + end +end diff --git a/spec/services/merge_requests/post_merge_service_spec.rb b/spec/services/merge_requests/post_merge_service_spec.rb index 5ecc0402420..a51a896ca96 100644 --- a/spec/services/merge_requests/post_merge_service_spec.rb +++ b/spec/services/merge_requests/post_merge_service_spec.rb @@ -90,6 +90,8 @@ RSpec.describe MergeRequests::PostMergeService do pipeline: pipeline, project: project, environment: review_env_a.name) review_job_a2 = create(:ci_build, :with_deployment, :start_review_app, pipeline: pipeline, project: project, environment: review_env_a.name) + finished_review_job_a = create(:ci_build, :with_deployment, :start_review_app, + pipeline: pipeline, project: project, status: :success, environment: review_env_a.name) review_job_b1 = create(:ci_build, :with_deployment, :start_review_app, pipeline: pipeline, project: project, environment: review_env_b.name) review_job_b2 = create(:ci_build, :start_review_app, @@ -103,6 +105,8 @@ RSpec.describe MergeRequests::PostMergeService do expect(review_job_a1.reload.canceled?).to be true expect(review_job_a2.reload.canceled?).to be true + expect(finished_review_job_a.reload.status).to eq "success" + expect(finished_review_job_a.reload.canceled?).to be false expect(review_job_b1.reload.canceled?).to be true expect(review_job_b2.reload.canceled?).to be false expect(review_job_c1.reload.canceled?).to be false |