diff options
Diffstat (limited to 'spec/lib/gitlab/github_import/issuable_finder_spec.rb')
-rw-r--r-- | spec/lib/gitlab/github_import/issuable_finder_spec.rb | 67 |
1 files changed, 30 insertions, 37 deletions
diff --git a/spec/lib/gitlab/github_import/issuable_finder_spec.rb b/spec/lib/gitlab/github_import/issuable_finder_spec.rb index d550f15e8c5..d3236994cef 100644 --- a/spec/lib/gitlab/github_import/issuable_finder_spec.rb +++ b/spec/lib/gitlab/github_import/issuable_finder_spec.rb @@ -3,11 +3,20 @@ require 'spec_helper' RSpec.describe Gitlab::GithubImport::IssuableFinder, :clean_gitlab_redis_cache do - let(:project) { double(:project, id: 4, group: nil) } - let(:issue) do - double(:issue, issuable_type: MergeRequest, issuable_id: 1) + let(:project) { double(:project, id: 4, import_data: import_data) } + let(:single_endpoint_optional_stage) { false } + let(:import_data) do + instance_double( + ProjectImportData, + data: { + optional_stages: { + single_endpoint_notes_import: single_endpoint_optional_stage + } + }.deep_stringify_keys + ) end + let(:issue) { double(:issue, issuable_type: MergeRequest, issuable_id: 1) } let(:finder) { described_class.new(project, issue) } describe '#database_id' do @@ -28,13 +37,10 @@ RSpec.describe Gitlab::GithubImport::IssuableFinder, :clean_gitlab_redis_cache d end context 'when group is present' do - context 'when github_importer_single_endpoint_notes_import feature flag is enabled' do - it 'reads cache value with longer timeout' do - project = create(:project, import_url: 'http://t0ken@github.com/user/repo.git') - group = create(:group, projects: [project]) - - stub_feature_flags(github_importer_single_endpoint_notes_import: group) + context 'when settings single_endpoint_notes_import is enabled' do + let(:single_endpoint_optional_stage) { true } + it 'reads cache value with longer timeout' do expect(Gitlab::Cache::Import::Caching) .to receive(:read) .with(anything, timeout: Gitlab::Cache::Import::Caching::LONGER_TIMEOUT) @@ -43,12 +49,8 @@ RSpec.describe Gitlab::GithubImport::IssuableFinder, :clean_gitlab_redis_cache d end end - context 'when github_importer_single_endpoint_notes_import feature flag is disabled' do + context 'when settings single_endpoint_notes_import is disabled' do it 'reads cache value with default timeout' do - project = double(:project, id: 4, group: create(:group)) - - stub_feature_flags(github_importer_single_endpoint_notes_import: false) - expect(Gitlab::Cache::Import::Caching) .to receive(:read) .with(anything, timeout: Gitlab::Cache::Import::Caching::TIMEOUT) @@ -68,34 +70,25 @@ RSpec.describe Gitlab::GithubImport::IssuableFinder, :clean_gitlab_redis_cache d finder.cache_database_id(10) end - context 'when group is present' do - context 'when github_importer_single_endpoint_notes_import feature flag is enabled' do - it 'caches value with longer timeout' do - project = create(:project, import_url: 'http://t0ken@github.com/user/repo.git') - group = create(:group, projects: [project]) - - stub_feature_flags(github_importer_single_endpoint_notes_import: group) + context 'when settings single_endpoint_notes_import is enabled' do + let(:single_endpoint_optional_stage) { true } - expect(Gitlab::Cache::Import::Caching) - .to receive(:write) - .with(anything, anything, timeout: Gitlab::Cache::Import::Caching::LONGER_TIMEOUT) + it 'caches value with longer timeout' do + expect(Gitlab::Cache::Import::Caching) + .to receive(:write) + .with(anything, anything, timeout: Gitlab::Cache::Import::Caching::LONGER_TIMEOUT) - described_class.new(project, issue).cache_database_id(10) - end + described_class.new(project, issue).cache_database_id(10) end + end - context 'when github_importer_single_endpoint_notes_import feature flag is disabled' do - it 'caches value with default timeout' do - project = double(:project, id: 4, group: create(:group)) - - stub_feature_flags(github_importer_single_endpoint_notes_import: false) - - expect(Gitlab::Cache::Import::Caching) - .to receive(:write) - .with(anything, anything, timeout: Gitlab::Cache::Import::Caching::TIMEOUT) + context 'when settings single_endpoint_notes_import is disabled' do + it 'caches value with default timeout' do + expect(Gitlab::Cache::Import::Caching) + .to receive(:write) + .with(anything, anything, timeout: Gitlab::Cache::Import::Caching::TIMEOUT) - described_class.new(project, issue).cache_database_id(10) - end + described_class.new(project, issue).cache_database_id(10) end end end |