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 :project, presence: true
|
||||||
validates :author, presence: true
|
validates :author, presence: true
|
||||||
validates :title, presence: true, length: { within: 0..255 }
|
validates :title, presence: true, length: { within: 0..255 }
|
||||||
validates :closed, inclusion: { in: [true, false] }
|
|
||||||
|
|
||||||
scope :opened, -> { where(closed: false) }
|
scope :opened, -> { with_state(:opened) }
|
||||||
scope :closed, -> { where(closed: true) }
|
scope :closed, -> { with_state(:closed) }
|
||||||
scope :of_group, ->(group) { where(project_id: group.project_ids) }
|
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 :of_user_team, ->(team) { where(project_id: team.project_ids, assignee_id: team.member_ids) }
|
||||||
scope :assigned, ->(u) { where(assignee_id: u.id)}
|
scope :assigned, ->(u) { where(assignee_id: u.id)}
|
||||||
|
@ -62,14 +61,6 @@ module Issuable
|
||||||
assignee_id_changed?
|
assignee_id_changed?
|
||||||
end
|
end
|
||||||
|
|
||||||
def is_being_closed?
|
|
||||||
closed_changed? && closed
|
|
||||||
end
|
|
||||||
|
|
||||||
def is_being_reopened?
|
|
||||||
closed_changed? && !closed
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Votes
|
# Votes
|
||||||
#
|
#
|
||||||
|
|
|
@ -15,7 +15,6 @@ describe Issue, "Issuable" do
|
||||||
it { should validate_presence_of(:author) }
|
it { should validate_presence_of(:author) }
|
||||||
it { should validate_presence_of(:title) }
|
it { should validate_presence_of(:title) }
|
||||||
it { should ensure_length_of(:title).is_at_least(0).is_at_most(255) }
|
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
|
end
|
||||||
|
|
||||||
describe "Scope" do
|
describe "Scope" do
|
||||||
|
|
|
@ -43,35 +43,4 @@ describe Issue do
|
||||||
subject.is_being_reassigned?.should be_false
|
subject.is_being_reassigned?.should be_false
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
|
|
|
@ -62,35 +62,4 @@ describe MergeRequest do
|
||||||
subject.is_being_reassigned?.should be_false
|
subject.is_being_reassigned?.should be_false
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
|
|
Loading…
Reference in a new issue