2011-10-09 00:36:38 +03:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe Issue do
|
|
|
|
describe "Associations" do
|
2012-04-09 01:01:42 +03:00
|
|
|
it { should belong_to(:milestone) }
|
2011-10-09 00:36:38 +03:00
|
|
|
end
|
|
|
|
|
|
|
|
describe "Validation" do
|
2012-08-29 11:36:02 -04:00
|
|
|
it { should ensure_length_of(:description).is_within(0..2000) }
|
2012-09-05 03:14:24 -07:00
|
|
|
it { should ensure_inclusion_of(:closed).in_array([true, false]) }
|
2011-10-09 00:36:38 +03:00
|
|
|
end
|
|
|
|
|
2012-08-29 01:52:19 -04:00
|
|
|
describe 'modules' do
|
|
|
|
it { should include_module(IssueCommonality) }
|
|
|
|
it { should include_module(Upvote) }
|
|
|
|
end
|
|
|
|
|
2012-08-28 07:01:27 -04:00
|
|
|
subject { Factory.create(:issue) }
|
2012-05-20 14:15:13 -04:00
|
|
|
|
|
|
|
describe '#is_being_reassigned?' do
|
|
|
|
it 'returns true if the issue assignee has changed' do
|
|
|
|
subject.assignee = Factory(:user)
|
|
|
|
subject.is_being_reassigned?.should be_true
|
|
|
|
end
|
|
|
|
it 'returns false if the issue assignee has not changed' do
|
|
|
|
subject.is_being_reassigned?.should be_false
|
|
|
|
end
|
|
|
|
end
|
2011-10-09 00:36:38 +03:00
|
|
|
|
2012-05-20 15:06:13 -04:00
|
|
|
describe '#is_being_closed?' do
|
|
|
|
it 'returns true if the closed attribute has changed and is now true' do
|
|
|
|
subject.closed = true
|
|
|
|
subject.is_being_closed?.should be_true
|
|
|
|
end
|
|
|
|
it 'returns false if the closed attribute has changed and is now false' do
|
2012-08-28 07:01:27 -04:00
|
|
|
issue = Factory.create(:closed_issue)
|
2012-05-20 15:06:13 -04:00
|
|
|
issue.closed = false
|
|
|
|
issue.is_being_closed?.should be_false
|
|
|
|
end
|
|
|
|
it 'returns false if the closed attribute has not changed' do
|
|
|
|
subject.is_being_closed?.should be_false
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2012-05-21 13:30:53 -04:00
|
|
|
|
|
|
|
describe '#is_being_reopened?' do
|
|
|
|
it 'returns true if the closed attribute has changed and is now false' do
|
2012-08-28 07:01:27 -04:00
|
|
|
issue = Factory.create(:closed_issue)
|
2012-05-21 13:30:53 -04:00
|
|
|
issue.closed = false
|
|
|
|
issue.is_being_reopened?.should be_true
|
|
|
|
end
|
|
|
|
it 'returns false if the closed attribute has changed and is now true' do
|
|
|
|
subject.closed = true
|
|
|
|
subject.is_being_reopened?.should be_false
|
|
|
|
end
|
|
|
|
it 'returns false if the closed attribute has not changed' do
|
|
|
|
subject.is_being_reopened?.should be_false
|
|
|
|
end
|
|
|
|
end
|
2011-10-09 00:36:38 +03:00
|
|
|
end
|