diff options
Diffstat (limited to 'spec/models/issue_spec.rb')
-rw-r--r-- | spec/models/issue_spec.rb | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 4319407706e..ba4429451d1 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -34,7 +34,8 @@ RSpec.describe Issue do it { is_expected.to have_many(:issue_email_participants) } it { is_expected.to have_many(:timelogs).autosave(true) } it { is_expected.to have_one(:incident_management_issuable_escalation_status) } - it { is_expected.to have_and_belong_to_many(:customer_relations_contacts) } + it { is_expected.to have_many(:issue_customer_relations_contacts) } + it { is_expected.to have_many(:customer_relations_contacts) } describe 'versions.most_recent' do it 'returns the most recent version' do @@ -305,7 +306,7 @@ RSpec.describe Issue do end describe '#reopen' do - let(:issue) { create(:issue, project: reusable_project, state: 'closed', closed_at: Time.current, closed_by: user) } + let_it_be_with_reload(:issue) { create(:issue, project: reusable_project, state: 'closed', closed_at: Time.current, closed_by: user) } it 'sets closed_at to nil when an issue is reopened' do expect { issue.reopen }.to change { issue.closed_at }.to(nil) @@ -315,6 +316,22 @@ RSpec.describe Issue do expect { issue.reopen }.to change { issue.closed_by }.from(user).to(nil) end + it 'clears moved_to_id for moved issues' do + moved_issue = create(:issue) + + issue.update!(moved_to_id: moved_issue.id) + + expect { issue.reopen }.to change { issue.moved_to_id }.from(moved_issue.id).to(nil) + end + + it 'clears duplicated_to_id for duplicated issues' do + duplicate_issue = create(:issue) + + issue.update!(duplicated_to_id: duplicate_issue.id) + + expect { issue.reopen }.to change { issue.duplicated_to_id }.from(duplicate_issue.id).to(nil) + end + it 'changes the state to opened' do expect { issue.reopen }.to change { issue.state_id }.from(described_class.available_states[:closed]).to(described_class.available_states[:opened]) end @@ -1218,7 +1235,7 @@ RSpec.describe Issue do end it 'returns public and hidden issues' do - expect(described_class.public_only).to eq([public_issue, hidden_issue]) + expect(described_class.public_only).to contain_exactly(public_issue, hidden_issue) end end end @@ -1247,7 +1264,7 @@ RSpec.describe Issue do end it 'returns public and hidden issues' do - expect(described_class.without_hidden).to eq([public_issue, hidden_issue]) + expect(described_class.without_hidden).to contain_exactly(public_issue, hidden_issue) end end end |