Renamed "elections" controller to "election."
[selectricity-live] / test / functional / election_controller_test.rb
diff --git a/test/functional/election_controller_test.rb b/test/functional/election_controller_test.rb
new file mode 100644 (file)
index 0000000..1873304
--- /dev/null
@@ -0,0 +1,88 @@
+require File.dirname(__FILE__) + '/../test_helper'
+require 'elections_controller'
+
+# Re-raise errors caught by the controller.
+class ElectionsController; def rescue_action(e) raise e end; end
+
+class ElectionsControllerTest < Test::Unit::TestCase
+  fixtures :elections
+
+  def setup
+    @controller = ElectionsController.new
+    @request    = ActionController::TestRequest.new
+    @response   = ActionController::TestResponse.new
+  end
+
+  def test_index
+    get :index
+    assert_response :success
+    assert_template 'list'
+  end
+
+  def test_list
+    get :list
+
+    assert_response :success
+    assert_template 'list'
+
+    assert_not_nil assigns(:elections)
+  end
+
+  def test_show
+    get :show, :id => 1
+
+    assert_response :success
+    assert_template 'show'
+
+    assert_not_nil assigns(:election)
+    assert assigns(:election).valid?
+  end
+
+  def test_new
+    get :new
+
+    assert_response :success
+    assert_template 'new'
+
+    assert_not_nil assigns(:election)
+  end
+
+  def test_create
+    num_elections = Election.count
+
+    post :create, :election => {}
+
+    assert_response :redirect
+    assert_redirected_to :action => 'list'
+
+    assert_equal num_elections + 1, Election.count
+  end
+
+  def test_edit
+    get :edit, :id => 1
+
+    assert_response :success
+    assert_template 'edit'
+
+    assert_not_nil assigns(:election)
+    assert assigns(:election).valid?
+  end
+
+  def test_update
+    post :update, :id => 1
+    assert_response :redirect
+    assert_redirected_to :action => 'show', :id => 1
+  end
+
+  def test_destroy
+    assert_not_nil Election.find(1)
+
+    post :destroy, :id => 1
+    assert_response :redirect
+    assert_redirected_to :action => 'list'
+
+    assert_raise(ActiveRecord::RecordNotFound) {
+      Election.find(1)
+    }
+  end
+end

Benjamin Mako Hill || Want to submit a patch?