/wheels/tests/model/callbacks/afterSaving.cfc

http://cfwheels.googlecode.com/ · ColdFusion CFScript · 34 lines · 29 code · 5 blank · 0 comment · 0 complexity · 16a57fa14ab560369f8f718af6dc5109 MD5 · raw file

  1. <cfcomponent extends="wheelsMapping.Test">
  2. <cffunction name="setup">
  3. <cfset model("tag").$registerCallback(type="afterValidation", methods="callbackThatIncreasesVariable")>
  4. <cfset model("tag").$registerCallback(type="afterValidationOnCreate", methods="callbackThatIncreasesVariable")>
  5. <cfset model("tag").$registerCallback(type="afterValidationOnUpdate", methods="callbackThatIncreasesVariable")>
  6. <cfset model("tag").$registerCallback(type="afterSave", methods="callbackThatIncreasesVariable")>
  7. <cfset model("tag").$registerCallback(type="afterCreate", methods="callbackThatIncreasesVariable")>
  8. <cfset model("tag").$registerCallback(type="afterUpdate", methods="callbackThatIncreasesVariable")>
  9. <cfset loc.obj = model("tag").findOne()>
  10. <cfset loc.obj.name = "somethingElse">
  11. </cffunction>
  12. <cffunction name="teardown">
  13. <cfset model("tag").$clearCallbacks(type="afterValidation,afterValidationOnCreate,afterValidationOnUpdate,afterSave,afterCreate,afterUpdate")>
  14. </cffunction>
  15. <cffunction name="test_chain_when_saving_existing_object">
  16. <cftransaction>
  17. <cfset loc.obj.save(transaction="none")>
  18. <cftransaction action="rollback"/>
  19. </cftransaction>
  20. <cfset assert("loc.obj.callbackCount IS 4")>
  21. </cffunction>
  22. <cffunction name="test_chain_when_saving_existing_object_with_all_callbacks_skipped">
  23. <cftransaction>
  24. <cfset loc.obj.save(transaction="none", callbacks=false)>
  25. <cftransaction action="rollback"/>
  26. </cftransaction>
  27. <cfset assert("NOT StructKeyExists(loc.obj, 'callbackCount')")>
  28. </cffunction>
  29. </cfcomponent>