diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-09 18:08:48 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-09 18:08:48 +0000 |
commit | c172bb9967f280e05bd904188d60a959dff10f00 (patch) | |
tree | eea80d33b034fe856352b94f49a6f2e677ed780c /spec | |
parent | 825e4190a30a745adb37ab822eb8f9d845b462e7 (diff) | |
download | gitlab-ce-c172bb9967f280e05bd904188d60a959dff10f00.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r-- | spec/bin/feature_flag_spec.rb | 20 | ||||
-rw-r--r-- | spec/factories/merge_request_diffs.rb | 10 | ||||
-rw-r--r-- | spec/factories/merge_requests.rb | 10 | ||||
-rw-r--r-- | spec/lib/gitlab/import_export/all_models.yml | 3 |
4 files changed, 30 insertions, 13 deletions
diff --git a/spec/bin/feature_flag_spec.rb b/spec/bin/feature_flag_spec.rb index f85b8f22210..92d8fbddd44 100644 --- a/spec/bin/feature_flag_spec.rb +++ b/spec/bin/feature_flag_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true -require 'spec_helper' +require 'fast_spec_helper' +require 'rspec-parameterized' load File.expand_path('../../bin/feature-flag', __dir__) @@ -11,25 +12,20 @@ RSpec.describe 'bin/feature-flag' do let(:argv) { %w[feature-flag-name -t development -g group::memory -i https://url -m http://url] } let(:options) { FeatureFlagOptionParser.parse(argv) } let(:creator) { described_class.new(options) } - let(:existing_flag) { File.join('config', 'feature_flags', 'development', 'existing-feature-flag.yml') } + let(:existing_flags) do + { 'existing-feature-flag' => File.join('config', 'feature_flags', 'development', 'existing-feature-flag.yml') } + end before do - # create a dummy feature flag - FileUtils.mkdir_p(File.dirname(existing_flag)) - File.write(existing_flag, '{}') + allow(creator).to receive(:all_feature_flag_names) { existing_flags } + allow(creator).to receive(:branch_name) { 'feature-branch' } + allow(creator).to receive(:editor) { nil } # ignore writes allow(File).to receive(:write).and_return(true) # ignore stdin allow($stdin).to receive(:gets).and_raise('EOF') - - # ignore Git commands - allow(creator).to receive(:branch_name) { 'feature-branch' } - end - - after do - FileUtils.rm_f(existing_flag) end subject { creator.execute } diff --git a/spec/factories/merge_request_diffs.rb b/spec/factories/merge_request_diffs.rb index 0c4c3244af5..8110ffd0877 100644 --- a/spec/factories/merge_request_diffs.rb +++ b/spec/factories/merge_request_diffs.rb @@ -2,12 +2,20 @@ FactoryBot.define do factory :merge_request_diff do - association :merge_request + association :merge_request, :without_merge_request_diff state { :collected } commits_count { 1 } base_commit_sha { Digest::SHA1.hexdigest(SecureRandom.hex) } head_commit_sha { Digest::SHA1.hexdigest(SecureRandom.hex) } start_commit_sha { Digest::SHA1.hexdigest(SecureRandom.hex) } + + trait :external do + external_diff { fixture_file_upload("spec/fixtures/doc_sample.txt", "plain/txt") } + stored_externally { true } + importing { true } # this avoids setting the state to 'empty' + end + + factory :external_merge_request_diff, traits: [:external] end end diff --git a/spec/factories/merge_requests.rb b/spec/factories/merge_requests.rb index 6836d5d71f0..9fd6ebe783c 100644 --- a/spec/factories/merge_requests.rb +++ b/spec/factories/merge_requests.rb @@ -92,6 +92,16 @@ FactoryBot.define do target_branch { "feature_two" } end + trait(:without_merge_request_diff) do + after(:build) do |_| + MergeRequest.skip_callback(:create, :after, :ensure_merge_request_diff) + end + + after(:create) do |_| + MergeRequest.set_callback(:create, :after, :ensure_merge_request_diff) + end + end + trait :locked do state_id { MergeRequest.available_states[:locked] } end diff --git a/spec/lib/gitlab/import_export/all_models.yml b/spec/lib/gitlab/import_export/all_models.yml index 3ad3f610128..d6cfadd39bf 100644 --- a/spec/lib/gitlab/import_export/all_models.yml +++ b/spec/lib/gitlab/import_export/all_models.yml @@ -179,9 +179,12 @@ external_pull_requests: merge_request_diff: - merge_request - merge_request_diff_commits +- merge_request_diff_detail - merge_request_diff_files merge_request_diff_commits: - merge_request_diff +merge_request_diff_detail: +- merge_request_diff merge_request_diff_files: - merge_request_diff merge_request_context_commits: |