completes #17 - live-coder plus text input type

Squashed commit of the following:

commit d41cbf66eb2a9ee705ab60bb156eed95881fa193
Author: Mark Moser <mark.moser@perficient.com>
Date:   Thu Aug 4 19:58:20 2016 -0500

    live-coder-text validations

commit 866bfeb863516a8656bc26b10f967d0b9b8d8505
Author: Mark Moser <mark.moser@perficient.com>
Date:   Thu Aug 4 11:57:57 2016 -0500

    getting things green again and rebasing develop

commit 28a23200f291e30c690b71e9bcae3e1a69eb3093
Author: Derek Montgomery <montgomerygraphics@gmail.com>
Date:   Thu Aug 4 10:14:23 2016 -0500

    Progress on live coder text field
This commit is contained in:
Mark Moser
2016-08-04 20:01:17 -05:00
parent 635297884d
commit fc784ffcb1
11 changed files with 136 additions and 23 deletions

View File

@ -77,7 +77,7 @@ class AnswerFormatValidatorTest < ActiveSupport::TestCase
obj.answer = SecureRandom.urlsafe_base64(1001)
refute obj.valid?
assert_match(/char.*limit.*1000$/, obj.errors.messages[:answer][0])
assert_match(/char.*limit.*1000.$/, obj.errors.messages[:answer][0])
end
# input_type CHECK BOX
@ -141,7 +141,7 @@ class AnswerFormatValidatorTest < ActiveSupport::TestCase
test "live_code should FAIL without checking finish later" do
obj = AnswerValidatable.new('live_code')
obj.answer = { "later" => "" }
obj.answer = { later: "" }
refute obj.valid?
assert_match(/come back/, obj.errors.messages[:answer][0])
@ -149,9 +149,58 @@ class AnswerFormatValidatorTest < ActiveSupport::TestCase
test "live_code should FAIL without values" do
obj = AnswerValidatable.new('live_code')
obj.answer = { "later" => "", "html" => "", "css" => "", "js" => "" }
obj.answer = { later: "", html: "", css: "", js: "" }
refute obj.valid?
assert_match(/write.*code/, obj.errors.messages[:answer][0])
end
# input_type LIVE CODER TEXT
test "live_code_text should PASS with populated hash" do
obj = AnswerValidatable.new('live_code_text')
obj.answer = { html: 'this is html', css: '', js: '', text: 'some reasons' }
assert obj.valid?
assert obj.errors.messages.empty?
end
test "live_code_text should PASS with finish later" do
obj = AnswerValidatable.new('live_code_text')
obj.answer = { later: "true" }
assert obj.valid?
assert obj.errors.messages.empty?
end
test "live_code_text should FAIL with nil" do
obj = AnswerValidatable.new('live_code_text')
obj.answer = nil
refute obj.valid?
assert_match(/write.*code/, obj.errors.messages[:answer][0])
end
test "live_code_text should FAIL without checking finish later" do
obj = AnswerValidatable.new('live_code_text')
obj.answer = { later: "" }
refute obj.valid?
assert_match(/come back/, obj.errors.messages[:answer][0])
end
test "live_code_text should FAIL without values" do
obj = AnswerValidatable.new('live_code_text')
obj.answer = { later: "", html: "", css: "", js: "", text: "" }
refute obj.valid?
assert_match(/write.*code/, obj.errors.messages[:answer][0])
end
test "live_code_text should FAIL without text" do
obj = AnswerValidatable.new('live_code_text')
obj.answer = { later: "", html: "some html", css: "", js: "", text: "" }
refute obj.valid?
assert_match(/provide.*reason/, obj.errors.messages[:answer][0])
end
end