gitlab-org--gitlab-foss/spec/migrations/add_default_project_approva...

36 lines
1.1 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
require_migration!
RSpec.describe AddDefaultProjectApprovalRulesVulnAllowed do
let(:namespaces) { table(:namespaces) }
let(:projects) { table(:projects) }
let(:namespace) { namespaces.create!(name: 'namespace', path: 'namespace') }
let(:project) { projects.create!(name: 'project', path: 'project', namespace_id: namespace.id) }
let(:approval_project_rules) { table(:approval_project_rules) }
it 'updates records when vulnerabilities_allowed is nil' do
records_to_migrate = 10
records_to_migrate.times do |i|
approval_project_rules.create!(name: "rule #{i}", project_id: project.id)
end
expect { migrate! }
.to change { approval_project_rules.where(vulnerabilities_allowed: nil).count }
.from(records_to_migrate)
.to(0)
end
it 'defaults vulnerabilities_allowed to 0' do
approval_project_rule = approval_project_rules.create!(name: "new rule", project_id: project.id)
expect(approval_project_rule.vulnerabilities_allowed).to be_nil
migrate!
expect(approval_project_rule.reload.vulnerabilities_allowed).to eq(0)
end
end