Sha256: f3cdd3574ddac29be60beea1c67e2d8f0125a40775d60006849403c524e155d0

Contents?: true

Size: 1.82 KB

Versions: 6

Compression:

Stored size: 1.82 KB

Contents

require 'test_helper'

class Cms::TasksControllerTest < ActionController::TestCase
  include Cms::ControllerTestHelper

  def setup
    @admin = login_as_cms_admin

    @task = Factory(:task, :assigned_to=>@admin)
  end

  def test_complete_task
    task = Cms::Task.find_by_id_and_assigned_to_id(@task.id, @admin.id)
    assert_instance_of Cms::Task, task, "This test depends on there being a task to complete"
    assert !task.completed?

    put :complete, :id => @task.id
    assert_response :redirect
    assert_redirected_to task.page.path
    assert_equal "Task was marked as complete", flash[:notice]

    task.reload
    assert task.completed?
  end


  def test_complete_multiple_tasks
    @task2 = Factory(:task, :assigned_to=>@admin)
    ids = [@task.id, @task2.id]
    tasks = Cms::Task.find(:all, :conditions => ["assigned_to_id = ?", @admin.id])
    assert_equal 2, tasks.length, "This test depends on there being 2 tasks to complete"
    assert !tasks.detect {|t| t.completed?}

    # should update all tasks in the ids list
    put :complete, :task_ids => ids
    assert_response :redirect
    assert_redirected_to dashboard_path
    assert_equal "Tasks marked as complete", flash[:notice]

    tasks.each do |t|
      t.reload
      assert t.completed?
    end

    # if empty list is passed, should gracefully claim to have completed them all
    put :complete, :task_ids => []
    assert_response :redirect
    assert_redirected_to dashboard_path
    assert_equal "Tasks marked as complete", flash[:notice]
  end

  def test_complete_no_tasks
    put :complete, :task_ids => nil
    assert_response :redirect
    assert_redirected_to dashboard_path
    assert_equal "No tasks were marked for completion", flash[:error]
  end

  private
  # Rails engine paths still don't seem to want to load.
  def dashboard_path
    "/cms/dashboard"
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
browsercms-3.4.2 test/functional/cms/tasks_controller_test.rb
browsercms-3.4.2.rc1 test/functional/cms/tasks_controller_test.rb
browsercms-3.4.1 test/functional/cms/tasks_controller_test.rb
browsercms-3.4.0 test/functional/cms/tasks_controller_test.rb
browsercms-3.4.0.rc2 test/functional/cms/tasks_controller_test.rb
browsercms-3.4.0.rc1 test/functional/cms/tasks_controller_test.rb