PageRenderTime 58ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/wheels/tests/model/validations/standard_validations.cfc

http://cfwheels.googlecode.com/
ColdFusion CFScript | 401 lines | 328 code | 73 blank | 0 comment | 0 complexity | da14272b04b39a35a381ccc7252f2349 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. </cffunction>
  6. <!--- validatesConfirmationOf --->
  7. <cffunction name="test_validatesConfirmationOf_valid">
  8. <cfset loc.user.password = "hamsterjelly">
  9. <cfset loc.user.passwordConfirmation = "hamsterjelly">
  10. <cfset loc.user.validatesConfirmationOf(property="password")>
  11. <cfset assert('loc.user.valid()')>
  12. </cffunction>
  13. <cffunction name="test_validatesConfirmationOf_invalid">
  14. <cfset loc.user.password = "hamsterjelly">
  15. <cfset loc.user.passwordConfirmation = "hamsterjellysucks">
  16. <cfset loc.user.validatesConfirmationOf(property="password")>
  17. <cfset assert('!loc.user.valid()')>
  18. </cffunction>
  19. <cffunction name="test_validatesConfirmationOf_missing_property_valid">
  20. <cfset loc.user.passwordConfirmation = "hamsterjellysucks">
  21. <cfset loc.user.validatesConfirmationOf(property="password")>
  22. <cfset assert('loc.user.valid()')>
  23. </cffunction>
  24. <cffunction name="test_validatesConfirmationOf_missing_property_confirmation_valid">
  25. <cfset loc.user.password = "hamsterjelly">
  26. <cfset loc.user.validatesConfirmationOf(property="password")>
  27. <cfset assert('loc.user.valid()')>
  28. </cffunction>
  29. <!--- validatesExclusionOf --->
  30. <cffunction name="test_validatesExclusionOf_valid">
  31. <cfset loc.user.firstname = "tony">
  32. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris")>
  33. <cfset assert('loc.user.valid()')>
  34. </cffunction>
  35. <cffunction name="test_validatesExclusionOf_invalid">
  36. <cfset loc.user.firstname = "tony">
  37. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris, tony")>
  38. <cfset assert('!loc.user.valid()')>
  39. </cffunction>
  40. <cffunction name="test_validatesExclusionOf_missing_property_invalid">
  41. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris, tony")>
  42. <cfset assert('!loc.user.valid()')>
  43. </cffunction>
  44. <cffunction name="test_validatesExclusionOf_missing_property_valid">
  45. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris, tony", allowblank="true")>
  46. <cfset assert('loc.user.valid()')>
  47. </cffunction>
  48. <cffunction name="test_validatesExclusionOf_allowblank_valid">
  49. <cfset loc.user.firstname = "">
  50. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris", allowblank="true")>
  51. <cfset assert('loc.user.valid()')>
  52. </cffunction>
  53. <cffunction name="test_validatesExclusionOf_allowblank_invalid">
  54. <cfset loc.user.firstname = "">
  55. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris", allowblank="false")>
  56. <cfset assert('!loc.user.valid()')>
  57. </cffunction>
  58. <!--- validatesFormatOf --->
  59. <cffunction name="test_validatesFormatOf_valid">
  60. <cfset loc.user.phone = "954-555-1212">
  61. <cfset loc.user.validatesFormatOf(property="phone", regex="(\d{3,3}-){2,2}\d{4,4}")>
  62. <cfset assert('loc.user.valid()')>
  63. </cffunction>
  64. <cffunction name="test_validatesFormatOf_invalid">
  65. <cfset loc.user.phone = "(954) 555-1212">
  66. <cfset loc.user.validatesFormatOf(property="phone", regex="(\d{3,3}-){2,2}\d{4,4}")>
  67. <cfset assert('!loc.user.valid()')>
  68. </cffunction>
  69. <cffunction name="test_validatesFormatOf_missing_property_invalid">
  70. <cfset loc.user.validatesFormatOf(property="phone", regex="(\d{3,3}-){2,2}\d{4,4}")>
  71. <cfset assert('!loc.user.valid()')>
  72. </cffunction>
  73. <cffunction name="test_validatesFormatOf_missing_property_valid">
  74. <cfset loc.user.validatesFormatOf(property="phone", regex="(\d{3,3}-){2,2}\d{4,4}", allowBlank="true")>
  75. <cfset assert('loc.user.valid()')>
  76. </cffunction>
  77. <cffunction name="test_validatesFormatOf_allowblank_valid">
  78. <cfset loc.user.phone = "">
  79. <cfset loc.user.validatesFormatOf(property="phone", regex="(\d{3,3}-){2,2}\d{4,4}", allowBlank="true")>
  80. <cfset assert('loc.user.valid()')>
  81. </cffunction>
  82. <cffunction name="test_validatesFormatOf_allowblank_invalid">
  83. <cfset loc.user.phone = "">
  84. <cfset loc.user.validatesFormatOf(property="phone", regex="(\d{3,3}-){2,2}\d{4,4}", allowBlank="false")>
  85. <cfset assert('!loc.user.valid()')>
  86. </cffunction>
  87. <!--- validatesInclusionOf --->
  88. <cffunction name="test_validatesInclusionOf_invalid">
  89. <cfset loc.user.firstname = "tony">
  90. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris")>
  91. <cfset assert('loc.user.valid()')>
  92. </cffunction>
  93. <cffunction name="test_validatesInclusionOf_valid">
  94. <cfset loc.user.firstname = "tony">
  95. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris, tony")>
  96. <cfset assert('!loc.user.valid()')>
  97. </cffunction>
  98. <cffunction name="test_validatesInclusionOf_missing_property_invalid">
  99. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris, tony")>
  100. <cfset assert('!loc.user.valid()')>
  101. </cffunction>
  102. <cffunction name="test_validatesInclusionOf_missing_property_valid">
  103. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris, tony", allowblank="true")>
  104. <cfset assert('loc.user.valid()')>
  105. </cffunction>
  106. <cffunction name="test_validatesInclusionOf_allowblank_valid">
  107. <cfset loc.user.firstname = "">
  108. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris", allowblank="true")>
  109. <cfset assert('loc.user.valid()')>
  110. </cffunction>
  111. <cffunction name="test_validatesInclusionOf_allowblank_invalid">
  112. <cfset loc.user.firstname = "">
  113. <cfset loc.user.validatesExclusionOf(property="firstname", list="per, raul, chris", allowblank="false")>
  114. <cfset assert('!loc.user.valid()')>
  115. </cffunction>
  116. <!--- validatesLengthOf --->
  117. <cffunction name="test_validatesLengthOf_maximum_valid">
  118. <cfset loc.user.firstname = "thisisatestagain">
  119. <cfset loc.user.validatesLengthOf(property="firstname", maximum="20")>
  120. <cfset assert('loc.user.valid()')>
  121. </cffunction>
  122. <cffunction name="test_validatesLengthOf_maximum_invalid">
  123. <cfset loc.user.firstname = "thisisatestagain">
  124. <cfset loc.user.validatesLengthOf(property="firstname", maximum="15")>
  125. <cfset assert('!loc.user.valid()')>
  126. </cffunction>
  127. <cffunction name="test_validatesLengthOf_missing_property_invalid">
  128. <cfset loc.user.validatesLengthOf(property="firstname", maximum="15")>
  129. <cfset assert('!loc.user.valid()')>
  130. </cffunction>
  131. <cffunction name="test_validatesLengthOf_missing_property_valid">
  132. <cfset loc.user.validatesLengthOf(property="firstname", maximum="15", allowblank="true")>
  133. <cfset assert('loc.user.valid()')>
  134. </cffunction>
  135. <cffunction name="test_validatesLengthOf_minimum_valid">
  136. <cfset loc.user.firstname = "thisisatestagain">
  137. <cfset loc.user.validatesLengthOf(property="firstname", minimum="15")>
  138. <cfset assert('loc.user.valid()')>
  139. </cffunction>
  140. <cffunction name="test_validatesLengthOf_minimum_invalid">
  141. <cfset loc.user.firstname = "thisisatestagain">
  142. <cfset loc.user.validatesLengthOf(property="firstname", minimum="20")>
  143. <cfset assert('!loc.user.valid()')>
  144. </cffunction>
  145. <cffunction name="test_validatesLengthOf_within_valid">
  146. <cfset loc.user.firstname = "thisisatestagain">
  147. <cfset loc.user.validatesLengthOf(property="firstname", within="15,20")>
  148. <cfset assert('loc.user.valid()')>
  149. </cffunction>
  150. <cffunction name="test_validatesLengthOf_within_invalid">
  151. <cfset loc.user.firstname = "thisisatestagain">
  152. <cfset loc.user.validatesLengthOf(property="firstname", within="10,15")>
  153. <cfset assert('!loc.user.valid()')>
  154. </cffunction>
  155. <cffunction name="test_validatesLengthOf_exactly_valid">
  156. <cfset loc.user.firstname = "thisisatestagain">
  157. <cfset loc.user.validatesLengthOf(property="firstname", exactly="16")>
  158. <cfset assert('loc.user.valid()')>
  159. </cffunction>
  160. <cffunction name="test_validatesLengthOf_exactly_invalid">
  161. <cfset loc.user.firstname = "thisisatestagain">
  162. <cfset loc.user.validatesLengthOf(property="firstname", exactly="20")>
  163. <cfset assert('!loc.user.valid()')>
  164. </cffunction>
  165. <cffunction name="test_validatesLengthOf_allowblank_valid">
  166. <cfset loc.user.firstname = "">
  167. <cfset loc.user.validatesLengthOf(property="firstname", allowblank="true")>
  168. <cfset assert('loc.user.valid()')>
  169. </cffunction>
  170. <cffunction name="test_validatesLengthOf_allowblank_invalid">
  171. <cfset loc.user.firstname = "">
  172. <cfset loc.user.validatesLengthOf(property="firstname", allowblank="false")>
  173. <cfset assert('!loc.user.valid()')>
  174. </cffunction>
  175. <!--- validatesNumericalityOf --->
  176. <cffunction name="test_validatesNumericalityOf_valid">
  177. <cfset loc.user.birthdaymonth = "10">
  178. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth")>
  179. <cfset assert('loc.user.valid()')>
  180. </cffunction>
  181. <cffunction name="test_validatesNumericalityOf_invalid">
  182. <cfset loc.user.birthdaymonth = "1,000.00">
  183. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth")>
  184. <cfset assert('!loc.user.valid()')>
  185. </cffunction>
  186. <cffunction name="test_validatesNumericalityOf_missing_property_invalid">
  187. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", onlyInteger="true")>
  188. <cfset assert('!loc.user.valid()')>
  189. </cffunction>
  190. <cffunction name="test_validatesNumericalityOf_missing_property_valid">
  191. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", onlyInteger="true", allowblank="true")>
  192. <cfset assert('loc.user.valid()')>
  193. </cffunction>
  194. <cffunction name="test_validatesNumericalityOf_onlyInteger_valid">
  195. <cfset loc.user.birthdaymonth = "1000">
  196. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", onlyInteger="true")>
  197. <cfset assert('loc.user.valid()')>
  198. </cffunction>
  199. <cffunction name="test_validatesNumericalityOf_onlyInteger_invalid">
  200. <cfset loc.user.birthdaymonth = "1000.25">
  201. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", onlyInteger="true")>
  202. <cfset assert('!loc.user.valid()')>
  203. </cffunction>
  204. <cffunction name="test_validatesNumericalityOf_allowBlank_valid">
  205. <cfset loc.user.birthdaymonth = "">
  206. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", allowBlank="true")>
  207. <cfset assert('loc.user.valid()')>
  208. </cffunction>
  209. <cffunction name="test_validatesNumericalityOf_allowBlank_invalid">
  210. <cfset loc.user.birthdaymonth = "">
  211. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", allowBlank="false")>
  212. <cfset assert('!loc.user.valid()')>
  213. </cffunction>
  214. <cffunction name="test_validatesNumericalityOf_greaterThan_valid">
  215. <cfset loc.user.birthdaymonth = "11">
  216. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", greatThan="10")>
  217. <cfset assert('loc.user.valid()')>
  218. </cffunction>
  219. <cffunction name="test_validatesNumericalityOf_greaterThan_invalid">
  220. <cfset loc.user.birthdaymonth = "10">
  221. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", greaterThan="10")>
  222. <cfset assert('!loc.user.valid()')>
  223. </cffunction>
  224. <cffunction name="test_validatesNumericalityOf_greaterThanOrEqualTo_valid">
  225. <cfset loc.user.birthdaymonth = "10">
  226. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", greaterThanOrEqualTo="10")>
  227. <cfset assert('loc.user.valid()')>
  228. </cffunction>
  229. <cffunction name="test_validatesNumericalityOf_greaterThanOrEqualTo_invalid">
  230. <cfset loc.user.birthdaymonth = "9">
  231. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", greaterThanOrEqualTo="10")>
  232. <cfset assert('!loc.user.valid()')>
  233. </cffunction>
  234. <cffunction name="test_validatesNumericalityOf_equalTo_valid">
  235. <cfset loc.user.birthdaymonth = "10">
  236. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", equalTo="10")>
  237. <cfset assert('loc.user.valid()')>
  238. </cffunction>
  239. <cffunction name="test_validatesNumericalityOf_equalTo_invalid">
  240. <cfset loc.user.birthdaymonth = "9">
  241. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", equalTo="10")>
  242. <cfset assert('!loc.user.valid()')>
  243. </cffunction>
  244. <cffunction name="test_validatesNumericalityOf_lessThan_valid">
  245. <cfset loc.user.birthdaymonth = "9">
  246. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", lessThan="10")>
  247. <cfset assert('loc.user.valid()')>
  248. </cffunction>
  249. <cffunction name="test_validatesNumericalityOf_lessThan_invalid">
  250. <cfset loc.user.birthdaymonth = "10">
  251. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", lessThan="10")>
  252. <cfset assert('!loc.user.valid()')>
  253. </cffunction>
  254. <cffunction name="test_validatesNumericalityOf_lessThanOrEqualTo_valid">
  255. <cfset loc.user.birthdaymonth = "10">
  256. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", lessThanOrEqualTo="10")>
  257. <cfset assert('loc.user.valid()')>
  258. </cffunction>
  259. <cffunction name="test_validatesNumericalityOf_lessThanOrEqualTo_invalid">
  260. <cfset loc.user.birthdaymonth = "11">
  261. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", lessThanOrEqualTo="10")>
  262. <cfset assert('!loc.user.valid()')>
  263. </cffunction>
  264. <cffunction name="test_validatesNumericalityOf_odd_valid">
  265. <cfset loc.user.birthdaymonth = "13">
  266. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", odd="true")>
  267. <cfset assert('loc.user.valid()')>
  268. </cffunction>
  269. <cffunction name="test_validatesNumericalityOf_odd_invalid">
  270. <cfset loc.user.birthdaymonth = "14">
  271. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", odd="true")>
  272. <cfset assert('!loc.user.valid()')>
  273. </cffunction>
  274. <cffunction name="test_validatesNumericalityOf_even_valid">
  275. <cfset loc.user.birthdaymonth = "14">
  276. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", even="true")>
  277. <cfset assert('loc.user.valid()')>
  278. </cffunction>
  279. <cffunction name="test_validatesNumericalityOf_even_invalid">
  280. <cfset loc.user.birthdaymonth = "13">
  281. <cfset loc.user.validatesNumericalityOf(property="birthdaymonth", even="true")>
  282. <cfset assert('!loc.user.valid()')>
  283. </cffunction>
  284. <!--- validatesPresenceOf --->
  285. <cffunction name="test_validatesPresenceOf_valid">
  286. <cfset loc.user.firstname = "tony">
  287. <cfset loc.user.validatesPresenceOf(property="firstname")>
  288. <cfset assert('loc.user.valid()')>
  289. </cffunction>
  290. <cffunction name="test_validatesPresenceOf_invalid">
  291. <cfset loc.user.validatesPresenceOf(property="firstname")>
  292. <cfset assert('!loc.user.valid()')>
  293. </cffunction>
  294. <cffunction name="test_validatesPresenceOf_invalid_when_blank">
  295. <cfset loc.user.firstname = " ">
  296. <cfset loc.user.validatesPresenceOf(property="firstname")>
  297. <cfset assert('!loc.user.valid()')>
  298. </cffunction>
  299. <!--- validatesUniquenessOf --->
  300. <cffunction name="test_validatesUniquenessOf_valid">
  301. <cfset loc.user.firstname = "Tony">
  302. <cfset loc.user.validatesUniquenessOf(property="firstname")>
  303. <cfset assert('!loc.user.valid()')>
  304. </cffunction>
  305. <cffunction name="test_validatesUniquenessOf_valids_when_updating_existing_record">
  306. <cfset loc.user = model("users").findOne(where="firstname = 'Tony'")>
  307. <cfset loc.user.validatesUniquenessOf(property="firstname")>
  308. <cfset assert('loc.user.valid()')>
  309. </cffunction>
  310. <!--- <cffunction name="test_validatesUniquenessOf_with_blank_property_value">
  311. <cfset loc.user.firstname = "">
  312. <cfset loc.user.validatesUniquenessOf(property="firstname")>
  313. <cfset assert('loc.user.valid()')>
  314. </cffunction> --->
  315. <!--- validate --->
  316. <cffunction name="test_validate_registering_methods">
  317. <cfset loc.user.firstname = "tony">
  318. <cfset loc.user.validate(method="fakemethod")>
  319. <cfset loc.user.validate(method="fakemethod2", when="onCreate")>
  320. <cfset loc.v = loc.user.$classData().validations>
  321. <cfset loc.onsave = loc.v["onsave"]>
  322. <cfset loc.oncreate = loc.v["oncreate"]>
  323. <cfset assert('arraylen(loc.onsave) eq 1')>
  324. <cfset assert('loc.onsave[1].method eq "fakemethod"')>
  325. <cfset assert('arraylen(loc.oncreate) eq 1')>
  326. <cfset assert('loc.oncreate[1].method eq "fakemethod2"')>
  327. </cffunction>
  328. </cfcomponent>