48 lines
1.3 KiB
Ruby
48 lines
1.3 KiB
Ruby
|
require 'test_helper'
|
||
|
|
||
|
class CandidateQuizQuestionTest < ActiveSupport::TestCase
|
||
|
def setup
|
||
|
@row = {
|
||
|
"candidate_id" => "12345",
|
||
|
"quiz_id" => 9876,
|
||
|
"question_id" => 5,
|
||
|
"answer_id" => 6,
|
||
|
"question" => 'what now?',
|
||
|
"input_type" => 'text',
|
||
|
"input_options" => %w(one two three).to_yaml,
|
||
|
"answer" => { test: 1, foo: 'bar', cheer: 'huzzah!' }.to_yaml
|
||
|
}
|
||
|
end
|
||
|
|
||
|
test "propper dot attributes work" do
|
||
|
question = CandidateQuizQuestion.new @row
|
||
|
|
||
|
assert_equal '12345', question.candidate_id
|
||
|
assert_equal 9876, question.quiz_id
|
||
|
assert_equal 5, question.question_id
|
||
|
assert_equal 6, question.answer_id
|
||
|
assert_equal 'what now?', question.question
|
||
|
assert_equal 'text', question.input_type
|
||
|
assert_kind_of Array, question.input_options
|
||
|
assert_kind_of Hash, question.answer
|
||
|
end
|
||
|
|
||
|
test "should handle string answer" do
|
||
|
question = CandidateQuizQuestion.new("answer" => "this is a text answer".to_yaml)
|
||
|
|
||
|
assert_kind_of String, question.answer
|
||
|
end
|
||
|
|
||
|
test "should handle array answer" do
|
||
|
question = CandidateQuizQuestion.new("answer" => %w(one two three four).to_yaml)
|
||
|
|
||
|
assert_kind_of Array, question.answer
|
||
|
end
|
||
|
|
||
|
test "should handle hash answer" do
|
||
|
question = CandidateQuizQuestion.new @row
|
||
|
|
||
|
assert_kind_of Hash, question.answer
|
||
|
end
|
||
|
end
|