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/milestone_release_spec.rb')
-rw-r--r--spec/models/milestone_release_spec.rb22
1 files changed, 8 insertions, 14 deletions
diff --git a/spec/models/milestone_release_spec.rb b/spec/models/milestone_release_spec.rb
index 28cec7bbc17..d6f73275977 100644
--- a/spec/models/milestone_release_spec.rb
+++ b/spec/models/milestone_release_spec.rb
@@ -14,29 +14,23 @@ describe MilestoneRelease do
it { is_expected.to belong_to(:release) }
end
- context 'when trying to create the same record in milestone_releases twice' do
- it 'is not committing on the second time' do
- create(:milestone_release, milestone: milestone, release: release)
-
- expect do
- subject.save!
- end.to raise_error(ActiveRecord::RecordNotUnique)
- end
- end
-
describe 'validations' do
- subject(:milestone_release) { build(:milestone_release, milestone: milestone, release: release) }
+ it { is_expected.to validate_uniqueness_of(:milestone_id).scoped_to(:release_id) }
context 'when milestone and release do not have the same project' do
it 'is not valid' do
- milestone_release.release = build(:release, project: create(:project))
-
+ other_project = create(:project)
+ release = build(:release, project: other_project)
+ milestone_release = described_class.new(milestone: milestone, release: release)
expect(milestone_release).not_to be_valid
end
end
context 'when milestone and release have the same project' do
- it { is_expected.to be_valid }
+ it 'is valid' do
+ milestone_release = described_class.new(milestone: milestone, release: release)
+ expect(milestone_release).to be_valid
+ end
end
end
end