PageRenderTime 38ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/wheels/tests/model/callbacks/afterSaveProperties.cfc

http://cfwheels.googlecode.com/
ColdFusion CFScript | 28 lines | 24 code | 4 blank | 0 comment | 0 complexity | ed15c1c07cb38559754c6db826165d4b MD5 | raw file
Possible License(s): Apache-2.0, CPL-1.0
  1. <cfcomponent extends="wheelsMapping.Test">
  2. <cffunction name="test_have_access_to_changed_property_values_in_aftersave">
  3. <cfset model("user").$registerCallback(type="afterSave", methods="saveHasChanged")>
  4. <cfset loc.obj = model("user").findOne(where="username = 'tonyp'")>
  5. <cfset loc.obj.saveHasChanged = saveHasChanged>
  6. <cfset loc.obj.getHasObjectChanged = getHasObjectChanged>
  7. <cfset assert('loc.obj.hasChanged() eq false')>
  8. <cfset loc.obj.password = "xxxxxxx">
  9. <cfset assert('loc.obj.hasChanged() eq true')>
  10. <cftransaction>
  11. <cfset loc.obj.save(transaction="none")>
  12. <cfset assert('loc.obj.getHasObjectChanged() eq true')>
  13. <cfset assert('loc.obj.hasChanged() eq false')>
  14. <cftransaction action="rollback"/>
  15. </cftransaction>
  16. <cfset model("user").$clearCallbacks(type="afterSave")>
  17. </cffunction>
  18. <cffunction name="saveHasChanged">
  19. <cfset hasObjectChanged = hasChanged()>
  20. </cffunction>
  21. <cffunction name="getHasObjectChanged">
  22. <cfreturn hasObjectChanged>
  23. </cffunction>
  24. </cfcomponent>