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
 |