summaryrefslogtreecommitdiff
path: root/spec/models
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/merge_request_spec.rb20
-rw-r--r--spec/models/repository_spec.rb8
-rw-r--r--spec/models/service_spec.rb40
3 files changed, 31 insertions, 37 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index 1c3f0c9a93f..8c50966078f 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -2369,24 +2369,10 @@ describe MergeRequest do
end
context 'when async is true' do
- context 'and async_merge_request_check_mergeability feature flag is enabled' do
- it 'executes MergeabilityCheckService asynchronously' do
- expect(mergeability_service).to receive(:async_execute)
+ it 'executes MergeabilityCheckService asynchronously' do
+ expect(mergeability_service).to receive(:async_execute)
- subject.check_mergeability(async: true)
- end
- end
-
- context 'and async_merge_request_check_mergeability feature flag is disabled' do
- before do
- stub_feature_flags(async_merge_request_check_mergeability: false)
- end
-
- it 'executes MergeabilityCheckService' do
- expect(mergeability_service).to receive(:execute)
-
- subject.check_mergeability(async: true)
- end
+ subject.check_mergeability(async: true)
end
end
end
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index c4b91e41c02..c698b40a4c0 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -1446,17 +1446,13 @@ describe Repository do
let(:empty_repository) { create(:project_empty_repo).repository }
it 'returns empty array for an empty repository' do
- # rubocop:disable Style/WordArray
- expect(empty_repository.blobs_at(['master', 'foobar'])).to eq([])
- # rubocop:enable Style/WordArray
+ expect(empty_repository.blobs_at(%w[master foobar])).to eq([])
end
it 'returns blob array for a non-empty repository' do
repository.create_file(User.last, 'foobar', 'CONTENT', message: 'message', branch_name: 'master')
- # rubocop:disable Style/WordArray
- blobs = repository.blobs_at([['master', 'foobar']])
- # rubocop:enable Style/WordArray
+ blobs = repository.blobs_at([%w[master foobar]])
expect(blobs.first.name).to eq('foobar')
expect(blobs.size).to eq(1)
diff --git a/spec/models/service_spec.rb b/spec/models/service_spec.rb
index 5a145b5ea39..8698a6cf3d3 100644
--- a/spec/models/service_spec.rb
+++ b/spec/models/service_spec.rb
@@ -279,19 +279,31 @@ describe Service do
end
describe '.build_from_integration' do
- context 'when template is invalid' do
- it 'sets service template to inactive when template is invalid' do
- template = build(:prometheus_service, template: true, active: true, properties: {})
- template.save(validate: false)
+ context 'when integration is invalid' do
+ let(:integration) do
+ build(:prometheus_service, :template, active: true, properties: {})
+ .tap { |integration| integration.save(validate: false) }
+ end
- service = described_class.build_from_integration(project.id, template)
+ it 'sets service to inactive' do
+ service = described_class.build_from_integration(project.id, integration)
expect(service).to be_valid
expect(service.active).to be false
end
end
- describe 'build issue tracker from a template' do
+ context 'when integration is an instance' do
+ let(:integration) { create(:jira_service, :instance) }
+
+ it 'sets inherit_from_id from integration' do
+ service = described_class.build_from_integration(project.id, integration)
+
+ expect(service.inherit_from_id).to eq(integration.id)
+ end
+ end
+
+ describe 'build issue tracker from an integration' do
let(:title) { 'custom title' }
let(:description) { 'custom description' }
let(:url) { 'http://jira.example.com' }
@@ -305,9 +317,9 @@ describe Service do
}
end
- shared_examples 'service creation from a template' do
+ shared_examples 'service creation from an integration' do
it 'creates a correct service' do
- service = described_class.build_from_integration(project.id, template)
+ service = described_class.build_from_integration(project.id, integration)
expect(service).to be_active
expect(service.title).to eq(title)
@@ -324,30 +336,30 @@ describe Service do
# this will be removed as part of https://gitlab.com/gitlab-org/gitlab/issues/29404
context 'when data are stored in properties' do
let(:properties) { data_params.merge(title: title, description: description) }
- let!(:template) do
+ let!(:integration) do
create(:jira_service, :without_properties_callback, template: true, properties: properties.merge(additional: 'something'))
end
- it_behaves_like 'service creation from a template'
+ it_behaves_like 'service creation from an integration'
end
context 'when data are stored in separated fields' do
- let(:template) do
+ let(:integration) do
create(:jira_service, :template, data_params.merge(properties: {}, title: title, description: description))
end
- it_behaves_like 'service creation from a template'
+ it_behaves_like 'service creation from an integration'
end
context 'when data are stored in both properties and separated fields' do
let(:properties) { data_params.merge(title: title, description: description) }
- let(:template) do
+ let(:integration) do
create(:jira_service, :without_properties_callback, active: true, template: true, properties: properties).tap do |service|
create(:jira_tracker_data, data_params.merge(service: service))
end
end
- it_behaves_like 'service creation from a template'
+ it_behaves_like 'service creation from an integration'
end
end
end