diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-05 18:09:46 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-05 18:09:46 +0300 |
commit | 01034c2c457bad1933e954ba01e5f21cdf546168 (patch) | |
tree | 26770a101ba1afad20aa10cbd1a0e52c0e88a05a /spec/migrations | |
parent | 5147cd60f141434f82ce95cc9039afddf415f02b (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/migrations')
-rw-r--r-- | spec/migrations/20210722042939_update_issuable_slas_where_issue_closed_spec.rb | 31 | ||||
-rw-r--r-- | spec/migrations/confirm_security_bot_spec.rb | 38 |
2 files changed, 69 insertions, 0 deletions
diff --git a/spec/migrations/20210722042939_update_issuable_slas_where_issue_closed_spec.rb b/spec/migrations/20210722042939_update_issuable_slas_where_issue_closed_spec.rb new file mode 100644 index 00000000000..a0aae00776d --- /dev/null +++ b/spec/migrations/20210722042939_update_issuable_slas_where_issue_closed_spec.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +require 'spec_helper' +require_migration!('update_issuable_slas_where_issue_closed') + +RSpec.describe UpdateIssuableSlasWhereIssueClosed, :migration do + let(:namespaces) { table(:namespaces) } + let(:projects) { table(:projects) } + let(:issues) { table(:issues) } + let(:issuable_slas) { table(:issuable_slas) } + let(:issue_params) { { title: 'title', project_id: project.id } } + let(:issue_closed_state) { 2 } + + let!(:namespace) { namespaces.create!(name: 'foo', path: 'foo') } + let!(:project) { projects.create!(namespace_id: namespace.id) } + let!(:issue_open) { issues.create!(issue_params) } + let!(:issue_closed) { issues.create!(issue_params.merge(state_id: issue_closed_state)) } + + let!(:issuable_sla_open_issue) { issuable_slas.create!(issue_id: issue_open.id, due_at: Time.now) } + let!(:issuable_sla_closed_issue) { issuable_slas.create!(issue_id: issue_closed.id, due_at: Time.now) } + + it 'sets the issuable_closed attribute to false' do + expect(issuable_sla_open_issue.issuable_closed).to eq(false) + expect(issuable_sla_closed_issue.issuable_closed).to eq(false) + + migrate! + + expect(issuable_sla_open_issue.reload.issuable_closed).to eq(false) + expect(issuable_sla_closed_issue.reload.issuable_closed).to eq(true) + end +end diff --git a/spec/migrations/confirm_security_bot_spec.rb b/spec/migrations/confirm_security_bot_spec.rb new file mode 100644 index 00000000000..19ca81f92f3 --- /dev/null +++ b/spec/migrations/confirm_security_bot_spec.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require 'spec_helper' +require_migration! + +RSpec.describe ConfirmSecurityBot, :migration do + let(:users) { table(:users) } + + let(:user_type) { 8 } + + context 'when bot is not created' do + it 'skips migration' do + migrate! + + bot = users.find_by(user_type: user_type) + + expect(bot).to be_nil + end + end + + context 'when bot is confirmed' do + let(:bot) { table(:users).create!(user_type: user_type, confirmed_at: Time.current, projects_limit: 1) } + + it 'skips migration' do + expect { migrate! }.not_to change { bot.reload.confirmed_at } + end + end + + context 'when bot is not confirmed' do + let(:bot) { table(:users).create!(user_type: user_type, projects_limit: 1) } + + it 'update confirmed_at' do + freeze_time do + expect { migrate! }.to change { bot.reload.confirmed_at }.from(nil).to(Time.current) + end + end + end +end |