diff options
Diffstat (limited to 'spec/models/milestone_release_spec.rb')
-rw-r--r-- | spec/models/milestone_release_spec.rb | 22 |
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 |