test/validation_test.rb in whyvalidationssuckin96-1.5.2 vs test/validation_test.rb in whyvalidationssuckin96-1.5.3

- old
+ new

@@ -3,99 +3,99 @@ context "validation" do context "creating a new subclass" do setup do WhyValidationsSuckIn96::Validation.new_subclass(:validates_rockingness, lambda {}) end - + should "have a readable string returned by inspect" do topic.new(Object.new).inspect - end.equals(/^#<WhyValidationsSuckIn96::Validation subclass for validating 'validates_rockingness'>/) - + end.matches(/^#<WhyValidationsSuckIn96::Validation subclass for validating 'validates_rockingness'>/) + should "have a name on the new subclass" do topic.name end.equals(:validates_rockingness) - + should "define validate as private on the new subclass" do topic.private_instance_methods - end.includes("validate") + end.includes("validate") end # creating a new subclass - + context "an instance of a subclass" do setup do WhyValidationsSuckIn96::Validation.new_subclass(:validates_rockingness, lambda {}) end - + should "allow accessing the options via an instance method" do topic.new(Object.new, :example => "stuff").options end.equals(:example => "stuff") - + should "return a true by default when pass/fail aren't called in the validation definition" do topic.new(Object.new).validates? end.equals(true) - + should "be passed by default when pass/fail aren't called in the validation definition" do validation = topic.new(Object.new) validation.validates? validation.passed? end.equals(true) - + should "not be passed if the validation hasn't run yet" do topic.new(Object.new).passed? end.equals(false) should "not be failed if the validation hasn't run yet" do topic.new(Object.new).failed? end.equals(false) - + should "not return true for has_run? if the validation hasn't run yet" do topic.new(Object.new).has_run? end.equals(false) - + end # an instance of a subclass - + context "an instance of a subclass with an actual validation definition" do setup do validation = lambda { validatable ? pass : fail } WhyValidationsSuckIn96::Validation.new_subclass(:validates_rockingness, validation) end should "have validates? return true if the validation passes" do validation = topic.new(true) validation.validates? end.equals(true) - + should "be passed when run and pass is called" do validation = topic.new(true) validation.validates? validation.passed? end - + should "have has_run? return true when the validation runs" do validation = topic.new(true) validation.validates? validation.has_run? end - + should "have validates? return false if the validation fails" do validation = topic.new(false) validation.validates? end.equals(false) - + should "be failed when run and fail is called" do validation = topic.new(false) validation.validates? validation.failed? end end # an instance of a subclass with an actual validation definition - + context "an instance of a subclass with a validation definition that raises" do setup do validation = lambda { raise "hell" } WhyValidationsSuckIn96::Validation.new_subclass(:validates_rockingness, validation) end - + should "raise an exception when validating" do topic.new(Object.new).validates? end.raises(RuntimeError, "hell") - + end # an instance of a subclass with a validation definition that raises end # validation \ No newline at end of file