Commit 4d520921f9aa09ae28badadd5661e0d5107dcb11
Committed by
Daniela Feitosa
1 parent
794934ff
Exists in
master
and in
29 other branches
Redefining tasks status named_scopes
Showing
3 changed files
with
42 additions
and
2 deletions
Show diff stats
app/controllers/my_profile/tasks_controller.rb
... | ... | @@ -9,7 +9,7 @@ class TasksController < MyProfileController |
9 | 9 | end |
10 | 10 | |
11 | 11 | def processed |
12 | - @tasks = Task.to(profile).finished.sort_by(&:created_at) | |
12 | + @tasks = Task.to(profile).closed.sort_by(&:created_at) | |
13 | 13 | end |
14 | 14 | |
15 | 15 | VALID_DECISIONS = [ 'finish', 'cancel', 'skip' ] | ... | ... |
app/models/task.rb
... | ... | @@ -267,7 +267,10 @@ class Task < ActiveRecord::Base |
267 | 267 | end |
268 | 268 | |
269 | 269 | named_scope :pending, :conditions => { :status => Task::Status::ACTIVE } |
270 | - named_scope :finished, :conditions => { :status => [Task::Status::CANCELLED, Task::Status::FINISHED] } | |
270 | + named_scope :hidden, :conditions => { :status => Task::Status::HIDDEN } | |
271 | + named_scope :finished, :conditions => { :status => Task::Status::FINISHED } | |
272 | + named_scope :canceled, :conditions => { :status => Task::Status::CANCELLED } | |
273 | + named_scope :closed, :conditions => { :status => [Task::Status::CANCELLED, Task::Status::FINISHED] } | |
271 | 274 | named_scope :opened, :conditions => { :status => [Task::Status::ACTIVE, Task::Status::HIDDEN] } |
272 | 275 | named_scope :of, lambda { |type| conditions = type ? "type LIKE '#{type}'" : "1=1"; {:conditions => [conditions]} } |
273 | 276 | named_scope :order_by, lambda { |attribute, ord| {:order => "#{attribute} #{ord}"} } | ... | ... |
test/unit/task_test.rb
... | ... | @@ -335,6 +335,43 @@ class TaskTest < ActiveSupport::TestCase |
335 | 335 | assert_equal [t4,t3,t2,t1], Task.order_by('status', 'asc') |
336 | 336 | end |
337 | 337 | |
338 | + should 'retrieve tasks by status' do | |
339 | + pending = fast_create(Task, :status => Task::Status::ACTIVE) | |
340 | + hidden = fast_create(Task, :status => Task::Status::HIDDEN) | |
341 | + finished = fast_create(Task, :status => Task::Status::FINISHED) | |
342 | + canceled = fast_create(Task, :status => Task::Status::CANCELLED) | |
343 | + | |
344 | + assert_includes Task.pending, pending | |
345 | + assert_not_includes Task.pending, hidden | |
346 | + assert_not_includes Task.pending, finished | |
347 | + assert_not_includes Task.pending, canceled | |
348 | + | |
349 | + assert_not_includes Task.hidden, pending | |
350 | + assert_includes Task.hidden, hidden | |
351 | + assert_not_includes Task.hidden, finished | |
352 | + assert_not_includes Task.hidden, canceled | |
353 | + | |
354 | + assert_not_includes Task.finished, pending | |
355 | + assert_not_includes Task.finished, hidden | |
356 | + assert_includes Task.finished, finished | |
357 | + assert_not_includes Task.finished, canceled | |
358 | + | |
359 | + assert_not_includes Task.canceled, pending | |
360 | + assert_not_includes Task.canceled, hidden | |
361 | + assert_not_includes Task.canceled, finished | |
362 | + assert_includes Task.canceled, canceled | |
363 | + | |
364 | + assert_includes Task.opened, pending | |
365 | + assert_includes Task.opened, hidden | |
366 | + assert_not_includes Task.opened, finished | |
367 | + assert_not_includes Task.opened, canceled | |
368 | + | |
369 | + assert_not_includes Task.closed, pending | |
370 | + assert_not_includes Task.closed, hidden | |
371 | + assert_includes Task.closed, finished | |
372 | + assert_includes Task.closed, canceled | |
373 | + end | |
374 | + | |
338 | 375 | protected |
339 | 376 | |
340 | 377 | def sample_user | ... | ... |