Issuable consern uses StateMachine now
This commit is contained in:
parent
8db3920c01
commit
f97296597c
4 changed files with 2 additions and 74 deletions
|
@ -17,10 +17,9 @@ module Issuable
|
|||
validates :project, presence: true
|
||||
validates :author, presence: true
|
||||
validates :title, presence: true, length: { within: 0..255 }
|
||||
validates :closed, inclusion: { in: [true, false] }
|
||||
|
||||
scope :opened, -> { where(closed: false) }
|
||||
scope :closed, -> { where(closed: true) }
|
||||
scope :opened, -> { with_state(:opened) }
|
||||
scope :closed, -> { with_state(:closed) }
|
||||
scope :of_group, ->(group) { where(project_id: group.project_ids) }
|
||||
scope :of_user_team, ->(team) { where(project_id: team.project_ids, assignee_id: team.member_ids) }
|
||||
scope :assigned, ->(u) { where(assignee_id: u.id)}
|
||||
|
@ -62,14 +61,6 @@ module Issuable
|
|||
assignee_id_changed?
|
||||
end
|
||||
|
||||
def is_being_closed?
|
||||
closed_changed? && closed
|
||||
end
|
||||
|
||||
def is_being_reopened?
|
||||
closed_changed? && !closed
|
||||
end
|
||||
|
||||
#
|
||||
# Votes
|
||||
#
|
||||
|
|
|
@ -15,7 +15,6 @@ describe Issue, "Issuable" do
|
|||
it { should validate_presence_of(:author) }
|
||||
it { should validate_presence_of(:title) }
|
||||
it { should ensure_length_of(:title).is_at_least(0).is_at_most(255) }
|
||||
it { should ensure_inclusion_of(:closed).in_array([true, false]) }
|
||||
end
|
||||
|
||||
describe "Scope" do
|
||||
|
|
|
@ -43,35 +43,4 @@ describe Issue do
|
|||
subject.is_being_reassigned?.should be_false
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
issue = create(:closed_issue)
|
||||
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
|
||||
|
||||
|
||||
describe '#is_being_reopened?' do
|
||||
it 'returns true if the closed attribute has changed and is now false' do
|
||||
issue = create(:closed_issue)
|
||||
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
|
||||
end
|
||||
|
|
|
@ -62,35 +62,4 @@ describe MergeRequest do
|
|||
subject.is_being_reassigned?.should be_false
|
||||
end
|
||||
end
|
||||
|
||||
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
|
||||
merge_request = create(:closed_merge_request)
|
||||
merge_request.closed = false
|
||||
merge_request.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
|
||||
|
||||
|
||||
describe '#is_being_reopened?' do
|
||||
it 'returns true if the closed attribute has changed and is now false' do
|
||||
merge_request = create(:closed_merge_request)
|
||||
merge_request.closed = false
|
||||
merge_request.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
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue