Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/packages/tag_spec.rb')
-rw-r--r--spec/models/packages/tag_spec.rb19
1 files changed, 18 insertions, 1 deletions
diff --git a/spec/models/packages/tag_spec.rb b/spec/models/packages/tag_spec.rb
index bc03c34f56b..6842d1946e5 100644
--- a/spec/models/packages/tag_spec.rb
+++ b/spec/models/packages/tag_spec.rb
@@ -5,6 +5,23 @@ RSpec.describe Packages::Tag, type: :model, feature_category: :package_registry
let!(:project) { create(:project) }
let!(:package) { create(:npm_package, version: '1.0.2', project: project, updated_at: 3.days.ago) }
+ describe '#ensure_project_id' do
+ it 'sets the project_id before saving' do
+ tag = build(:packages_tag)
+ expect(tag.project_id).to be_nil
+ tag.save!
+ expect(tag.project_id).not_to be_nil
+ expect(tag.project_id).to eq(tag.package.project_id)
+ end
+
+ it 'does not override the project_id if set' do
+ another_project = create(:project)
+ tag = build(:packages_tag, project_id: another_project.id)
+ tag.save!
+ expect(tag.project_id).to eq(another_project.id)
+ end
+ end
+
describe 'relationships' do
it { is_expected.to belong_to(:package).inverse_of(:tags) }
end
@@ -61,7 +78,7 @@ RSpec.describe Packages::Tag, type: :model, feature_category: :package_registry
end
context 'with multiple names' do
- let(:name) { %w(tag1 tag3) }
+ let(:name) { %w[tag1 tag3] }
it { is_expected.to contain_exactly(tag1, tag3) }
end