Skip to content
This repository has been archived by the owner on Oct 29, 2019. It is now read-only.

Commit

Permalink
All users to be unassigned.
Browse files Browse the repository at this point in the history
This was always part of the plan, but it never got tested or implemented properly. Hopefully the distribution will be more random now.
  • Loading branch information
lazyatom committed Nov 14, 2011
1 parent 8334f09 commit d4f0925
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 1 deletion.
5 changes: 5 additions & 0 deletions config/schedule.rb
Expand Up @@ -6,6 +6,11 @@
job_type :unassign, %{#{harmonia_run} "Harmonia.new.unassign(::task)"}
job_type :remind, %{#{harmonia_run} "Harmonia.new.remind(::task)"}

every :monday, :at => "11.59am" do
unassign :invoices
unassign :weeknotes
end

every :monday, :at => "12:00pm" do
assign :invoices
assign :weeknotes
Expand Down
4 changes: 4 additions & 0 deletions lib/harmonia.rb
Expand Up @@ -23,6 +23,10 @@ def remind(task)
dispatch_reminder_mail_for_task(task, assignee)
end

def unassign(task)
@administrator.unassign(task)
end

private

def dispatch_mail_for_task(task, assignee)
Expand Down
2 changes: 1 addition & 1 deletion lib/harmonia/administrator.rb
Expand Up @@ -26,7 +26,7 @@ def assignee(task)
end

def unassign(task)
@assigned.delete(:task)
@assigned.delete(task)
write_store
end

Expand Down
14 changes: 14 additions & 0 deletions test/administrator_test.rb
Expand Up @@ -24,6 +24,20 @@ def test_should_reset_the_assignee_when_assigning_again
assert_equal person_2, @administrator.assignee(:task_a)
end

def test_should_be_able_to_unassign_a_task
@administrator.assign(:task_a)
@administrator.unassign(:task_a)
assert_equal nil, @administrator.assignee(:task_a)
end

def test_should_be_able_to_unassign_everyone
@administrator.assign(:task_a)
@administrator.assign(:task_b)
@administrator.reset!
assert_equal nil, @administrator.assignee(:task_a)
assert_equal nil, @administrator.assignee(:task_b)
end

def test_should_not_assign_the_same_person_to_two_tasks
100.times do
person_1 = @administrator.assign(:task_a)
Expand Down

0 comments on commit d4f0925

Please sign in to comment.