PageRenderTime 26ms CodeModel.GetById 8ms RepoModel.GetById 0ms app.codeStats 0ms

/wheels/tests/model/validations/conditional_validations.cfc

http://cfwheels.googlecode.com/
ColdFusion CFScript | 119 lines | 100 code | 19 blank | 0 comment | 0 complexity | cfe8df3d3943c75c0aff61d799cfff48 MD5 | raw file
Possible License(s): Apache-2.0, CPL-1.0
  1. <cfcomponent extends="wheelsMapping.Test">
  2. <cffunction name="setup">
  3. <cfset StructDelete(application.wheels.models, "users", false)>
  4. <cfset loc.user = model("users").new()>
  5. <cfset loc.user.username = "TheLongestNameInTheWorld">
  6. <cfset loc.args = {}>
  7. <cfset loc.args.property = "username">
  8. <cfset loc.args.maximum = "5">
  9. </cffunction>
  10. <cffunction name="test_if_validation_using_expression_invalid">
  11. <cfset loc.args.condition="1 eq 1">
  12. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  13. <cfset assert_test(loc.user, false)>
  14. </cffunction>
  15. <cffunction name="test_if_validation_using_expression_valid">
  16. <cfset loc.args.condition="1 eq 0">
  17. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  18. <cfset assert_test(loc.user, true)>
  19. </cffunction>
  20. <cffunction name="test_if_validation_using_method_invalid">
  21. <cfset loc.args.condition="isnew()">
  22. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  23. <cfset assert_test(loc.user, false)>
  24. </cffunction>
  25. <cffunction name="test_if_validation_using_method_valid">
  26. <cfset loc.args.condition="!isnew()">
  27. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  28. <cfset assert_test(loc.user, true)>
  29. </cffunction>
  30. <cffunction name="test_if_validation_using_method_mixin_and_parameters_invalid">
  31. <cfset loc.args.condition="this.stupid_method(b='1' , a='2') eq 3">
  32. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  33. <cfset assert_test(loc.user, false)>
  34. </cffunction>
  35. <cffunction name="test_if_validation_using_method_mixin_and_parameters_valid">
  36. <cfset loc.args.condition="this.stupid_method(b='1' , a='2') neq 3">
  37. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  38. <cfset assert_test(loc.user, true)>
  39. </cffunction>
  40. <cffunction name="test_unless_validation_using_expression_valid">
  41. <cfset loc.args.unless="true">
  42. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  43. <cfset assert_test(loc.user, true)>
  44. </cffunction>
  45. <cffunction name="test_unless_validation_using_expression_invalid">
  46. <cfset loc.args.unless="false">
  47. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  48. <cfset assert_test(loc.user, false)>
  49. </cffunction>
  50. <cffunction name="test_unless_validation_using_method_valid">
  51. <cfset loc.args.unless="isnew()">
  52. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  53. <cfset assert_test(loc.user, true)>
  54. </cffunction>
  55. <cffunction name="test_unless_validation_using_method_invalid">
  56. <cfset loc.args.unless="!isnew()">
  57. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  58. <cfset assert_test(loc.user, false)>
  59. </cffunction>
  60. <cffunction name="test_unless_validation_using_method_mixin_and_parameters_valid">
  61. <cfset loc.args.unless="this.stupid_method(b='1' , a='2') eq 3">
  62. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  63. <cfset assert_test(loc.user, true)>
  64. </cffunction>
  65. <cffunction name="test_unless_validation_using_method_mixin_and_parameters_invalid">
  66. <cfset loc.args.unless="this.stupid_method(b='1' , a='2') neq 3">
  67. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  68. <cfset assert_test(loc.user, false)>
  69. </cffunction>
  70. <cffunction name="test_both_validations_if_trigged_unless_not_trigged_valid">
  71. <cfset loc.args.condition="1 eq 1">
  72. <cfset loc.args.unless="this.username eq 'TheLongestNameInTheWorld'">
  73. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  74. <cfset assert_test(loc.user, true)>
  75. </cffunction>
  76. <cffunction name="test_both_validations_if_trigged_unless_trigged_invalid">
  77. <cfset loc.args.condition="1 eq 1">
  78. <cfset loc.args.unless="this.username eq ''">
  79. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  80. <cfset assert_test(loc.user, false)>
  81. </cffunction>
  82. <cffunction name="test_both_validations_if_not_trigged_unless_not_trigged_valid">
  83. <cfset loc.args.condition="1 eq 0">
  84. <cfset loc.args.unless="this.username eq 'TheLongestNameInTheWorld'">
  85. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  86. <cfset assert_test(loc.user, true)>
  87. </cffunction>
  88. <cffunction name="test_both_validations_if_not_trigged_unless_trigged_valid">
  89. <cfset loc.args.condition="1 eq 0">
  90. <cfset loc.args.unless="this.username eq ''">
  91. <cfset loc.user.validatesLengthOf(argumentCollection=loc.args)>
  92. <cfset assert_test(loc.user, true)>
  93. </cffunction>
  94. <cffunction name="assert_test">
  95. <cfargument name="obj" type="any" required="true">
  96. <cfargument name="expect" type="boolean" required="true">
  97. <cfset loc.e = arguments.obj.valid()>
  98. <cfset assert('loc.e eq #arguments.expect#')>
  99. </cffunction>
  100. </cfcomponent>