PageRenderTime 37ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/wheels/tests/controller/miscellaneous/sendmail.cfc

http://cfwheels.googlecode.com/
ColdFusion CFScript | 74 lines | 62 code | 12 blank | 0 comment | 0 complexity | 2319ed86f9b4dea3e6c821ecb231b5e5 MD5 | raw file
Possible License(s): Apache-2.0, CPL-1.0
  1. <cfcomponent extends="wheelsMapping.Test">
  2. <cfset params = {controller="test", action="test"}>
  3. <cfset loc.controller = controller("dummy", params)>
  4. <cffunction name="setup">
  5. <cfset args = StructNew()>
  6. <cfset args.subject = "dummy subject">
  7. <cfset args.to = "to-dummy@dummy.com">
  8. <cfset args.from = "from-dummy@dummy.com">
  9. <cfset args.$deliver = false>
  10. <cfset oldViewPath = application.wheels.viewPath>
  11. <cfset application.wheels.viewPath = "wheels/tests/_assets/views">
  12. <cfset oldFilePath = application.wheels.filePath>
  13. <cfset application.wheels.filePath = "wheels/tests/_assets/files">
  14. </cffunction>
  15. <cffunction name="test_send_plain">
  16. <cfset args.template = "plainEmailTemplate">
  17. <cfset result = loc.controller.sendEmail(argumentCollection=args)>
  18. <cfset assert("ListLen(StructKeyList(result)) IS 5 AND StructKeyExists(result, 'to') AND StructKeyExists(result, 'from') AND StructKeyExists(result, 'subject') AND result.type IS 'text' AND result.tagContent IS 'dummy plain email body'")>
  19. </cffunction>
  20. <cffunction name="test_send_html">
  21. <cfset args.template = "HTMLEmailTemplate">
  22. <cfset result = loc.controller.sendEmail(argumentCollection=args)>
  23. <cfset assert("result.type IS 'html' AND result.tagContent IS '<p>dummy html email body</p>'")>
  24. </cffunction>
  25. <cffunction name="test_send_combined_in_correct_order">
  26. <cfset args.templates = "HTMLEmailTemplate,plainEmailTemplate">
  27. <cfset result = loc.controller.sendEmail(argumentCollection=args)>
  28. <cfset assert("result.mailparts[1].type IS 'text' AND result.mailparts[2].tagContent IS '<p>dummy html email body</p>'")>
  29. </cffunction>
  30. <cffunction name="test_send_with_layout">
  31. <cfset args.template = "HTMLEmailTemplate">
  32. <cfset args.layout = "emailLayout">
  33. <cfset result = loc.controller.sendEmail(argumentCollection=args)>
  34. <cfset assert("result.tagContent Contains '<div>'")>
  35. </cffunction>
  36. <cffunction name="test_send_with_attachment">
  37. <cfset args.template = "plainEmailTemplate">
  38. <cfset args.file = "cfwheels-logo.png">
  39. <cfset result = loc.controller.sendEmail(argumentCollection=args)>
  40. <cfset assert("result.mailparams[1].file Contains '_assets' AND result.mailparams[1].file Contains 'cfwheels-logo.png'")>
  41. </cffunction>
  42. <cffunction name="test_send_with_custom_argument">
  43. <cfset args.template = "plainEmailTemplate">
  44. <cfset args.customArgument = "IPassedInThisAsACustomArgument">
  45. <cfset result = loc.controller.sendEmail(argumentCollection=args)>
  46. <cfset assert("result.tagContent Contains 'IPassedInThisAsACustomArgument'")>
  47. </cffunction>
  48. <cffunction name="test_send_from_different_path">
  49. <cfset args.template = "/shared/anotherPlainEmailTemplate">
  50. <cfset result = loc.controller.sendEmail(argumentCollection=args)>
  51. <cfset assert("result.tagContent IS 'another dummy plain email body'")>
  52. </cffunction>
  53. <cffunction name="test_send_from_sub_folder">
  54. <cfset args.template = "sub/anotherHTMLEmailTemplate">
  55. <cfset result = loc.controller.sendEmail(argumentCollection=args)>
  56. <cfset assert("result.tagContent IS '<p>another dummy html email body</p>'")>
  57. </cffunction>
  58. <cffunction name="teardown">
  59. <cfset application.wheels.viewPath = oldViewPath>
  60. <cfset application.wheels.filePath = oldFilePath>
  61. </cffunction>
  62. </cfcomponent>