X-Git-Url: https://projects.mako.cc/source/selectricity/blobdiff_plain/2eeaf68b8cb5ad36fdfae3eed6abc004c3f67f46..7bc8f21d6a7593a082797dd41d6fc9005bc4f112:/test/unit/selectricityservice_test.rb diff --git a/test/unit/selectricityservice_test.rb b/test/unit/selectricityservice_test.rb index 631110a..c4dd2cb 100644 --- a/test/unit/selectricityservice_test.rb +++ b/test/unit/selectricityservice_test.rb @@ -13,4 +13,58 @@ class SelectricityServiceTest < Test::Unit::TestCase assert_instance_of Array, result assert_equal result.length, 0 end + def test_create_quickvote + election = ElectionStruct.new :name => "TestVote", :description => "Test Vote", :candidate_names => ["Apple", "Orange", "Banana", "Pineapple"] + result = invoke_delegated :vote, :create_quickvote, election + assert_instance_of String, result + assert_equal "", result + assert_equal(invoke_delegated(:vote,:list_quickvotes).length, 1) + end + def test_get_quickvote + test_create_quickvote + result = invoke_delegated :vote, :get_quickvote, "TestVote" + assert_instance_of ElectionStruct, result + assert_equal 0, result.name.casecmp("TestVote") + assert_equal result.description, "Test Vote" + assert_equal result.candidate_names.sort, ["Apple", "Orange", "Banana", "Pineapple"].sort + assert_not_nil result.id + assert result.id != 0 + assert_nil result.candidate_ids.uniq! + assert result.candidate_ids.length == result.candidate_names.length + end + def test_cast_quickvote + test_create_quickvote + election = invoke_delegated :vote, :get_quickvote, "TestVote" + casted_vote = election.candidate_ids.sort_by {rand} #Shuffles + invoke_delegated :vote, :cast_quickvote, "TestVote", 42, [casted_vote] + quickvote_votes= invoke_delegated :vote, :get_quickvote_votes, "TestVote" + assert_equal quickvote_votes.length, 1 + assert_equal quickvote_votes[0].vote, casted_vote + end + def test_cast_mass_quickvote + test_create_quickvote + election = invoke_delegated :vote, :get_quickvote, "TestVote" + 20.times do |t| + casted_vote = election.candidate_ids.sort_by {rand} + invoke_delegated :vote, :cast_quickvote, "TestVote", t, [casted_vote] + end + quickvote_votes= invoke_delegated :vote, :get_quickvote_votes, "TestVote" + assert_equal quickvote_votes.length, 20 + end + def test_create_mass_quickvote + 10.times do |t| + election = ElectionStruct.new :name => "test#{t}", :description => "Test Vote", :candidate_names => ["Apple", "Orange", "Banana", "Pineapple"] + result = invoke_delegated :vote, :create_quickvote, election + assert_instance_of String, result + assert_equal "", result + assert_equal(invoke_delegated(:vote,:list_quickvotes).length, t+1) + end + end + def test_create_quickvote_bad_name + election = ElectionStruct.new :name => "invalid space", :description => "Test Vote", :candidate_names => ["Apple", "Orange", "Banana", "Pineapple"] + result = invoke_delegated :vote, :create_quickvote, election + assert_instance_of String, result + assert_not_equal result.length, 0 + assert_equal(invoke_delegated(:vote,:list_quickvotes).length, 0) + end end