gdpr_rails 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (255) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +10 -6
  3. data/app/controllers/policy_manager/application_controller.rb +1 -1
  4. data/app/controllers/policy_manager/portability_requests_controller.rb +6 -2
  5. data/app/controllers/policy_manager/terms_controller.rb +3 -1
  6. data/app/controllers/policy_manager/user_portability_requests_controller.rb +23 -20
  7. data/app/controllers/policy_manager/user_terms_controller.rb +6 -3
  8. data/app/mailers/policy_manager/application_mailer.rb +4 -2
  9. data/app/mailers/policy_manager/portability_mailer.rb +3 -3
  10. data/app/models/policy_manager/concerns/user_behavior.rb +1 -0
  11. data/app/models/policy_manager/user_term.rb +4 -3
  12. data/app/views/layouts/policy_manager/application.html.erb +2 -2
  13. data/app/views/layouts/policy_manager/portability.erb +5 -0
  14. data/app/views/policy_manager/401.erb +1 -0
  15. data/app/views/policy_manager/user_terms/show.html.erb +1 -1
  16. data/app/views/policy_manager/user_terms/show.json.jbuilder +2 -2
  17. data/lib/policy_manager/config.rb +2 -1
  18. data/lib/policy_manager/engine.rb +6 -0
  19. data/lib/policy_manager/exporter.rb +1 -1
  20. data/lib/policy_manager/exporter/handler.rb +1 -1
  21. data/lib/policy_manager/exporter/view.rb +0 -1
  22. data/lib/policy_manager/version.rb +1 -1
  23. data/spec/controllers/policy_manager/categories_controller_spec.rb +51 -0
  24. data/spec/controllers/policy_manager/portability_requests_controller_spec.rb +85 -0
  25. data/spec/controllers/policy_manager/terms_controller_spec.rb +125 -0
  26. data/spec/controllers/policy_manager/user_portability_requests_controller_spec.rb +76 -0
  27. data/spec/controllers/policy_manager/user_terms_controller_test.rb +92 -0
  28. data/spec/dummy/Rakefile +6 -0
  29. data/spec/dummy/app/assets/config/manifest.js +5 -0
  30. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  31. data/spec/dummy/app/assets/javascripts/cable.js +13 -0
  32. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  33. data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
  34. data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
  35. data/spec/dummy/app/controllers/application_controller.rb +4 -0
  36. data/spec/dummy/app/helpers/application_helper.rb +3 -0
  37. data/spec/dummy/app/helpers/user_helper.rb +2 -0
  38. data/spec/dummy/app/jobs/application_job.rb +2 -0
  39. data/spec/dummy/app/mailers/application_mailer.rb +4 -0
  40. data/spec/dummy/app/models/application_record.rb +3 -0
  41. data/spec/dummy/app/models/user.rb +26 -0
  42. data/spec/dummy/app/views/collection.json.jbuilder +11 -0
  43. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  44. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  45. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  46. data/spec/dummy/app/views/layouts/portability.erb +15 -0
  47. data/spec/dummy/app/views/layouts/portability_requests.erb +14 -0
  48. data/spec/dummy/app/views/template.erb +1 -0
  49. data/spec/dummy/app/views/template.haml +1 -0
  50. data/spec/dummy/app/views/template.json.jbuilder +16 -0
  51. data/spec/dummy/app/views/test.erb +2 -0
  52. data/spec/dummy/app/views/user_mailer/admin.html.erb +1 -0
  53. data/spec/dummy/app/views/user_mailer/complete.html.erb +5 -0
  54. data/spec/dummy/app/views/user_mailer/progress.html.erb +1 -0
  55. data/spec/dummy/bin/bundle +3 -0
  56. data/spec/dummy/bin/rails +4 -0
  57. data/spec/dummy/bin/rake +4 -0
  58. data/spec/dummy/bin/setup +38 -0
  59. data/spec/dummy/bin/update +29 -0
  60. data/spec/dummy/bin/yarn +11 -0
  61. data/spec/dummy/config.ru +5 -0
  62. data/spec/dummy/config/application.rb +18 -0
  63. data/spec/dummy/config/boot.rb +5 -0
  64. data/spec/dummy/config/cable.yml +10 -0
  65. data/spec/dummy/config/database.yml +40 -0
  66. data/spec/dummy/config/database.yml.test +11 -0
  67. data/spec/dummy/config/environment.rb +5 -0
  68. data/spec/dummy/config/environments/development.rb +54 -0
  69. data/spec/dummy/config/environments/production.rb +91 -0
  70. data/spec/dummy/config/environments/test.rb +42 -0
  71. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  72. data/spec/dummy/config/initializers/assets.rb +14 -0
  73. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  74. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  75. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  76. data/spec/dummy/config/initializers/inflections.rb +16 -0
  77. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  78. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  79. data/spec/dummy/config/locales/en.yml +33 -0
  80. data/spec/dummy/config/puma.rb +56 -0
  81. data/spec/dummy/config/routes.rb +3 -0
  82. data/spec/dummy/config/secrets.yml +32 -0
  83. data/spec/dummy/config/spring.rb +6 -0
  84. data/spec/dummy/db/development.sqlite3 +0 -0
  85. data/spec/dummy/db/migrate/20180326193826_create_users.rb +9 -0
  86. data/spec/dummy/db/schema.rb +56 -0
  87. data/spec/dummy/log/development.log +326 -0
  88. data/spec/dummy/log/test.log +191664 -0
  89. data/spec/dummy/package.json +5 -0
  90. data/spec/dummy/public/401.html +67 -0
  91. data/spec/dummy/public/404.html +67 -0
  92. data/spec/dummy/public/422.html +67 -0
  93. data/spec/dummy/public/500.html +66 -0
  94. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  95. data/spec/dummy/public/apple-touch-icon.png +0 -0
  96. data/spec/dummy/public/favicon.ico +0 -0
  97. data/spec/dummy/test/fixtures/users.yml +7 -0
  98. data/spec/dummy/test/models/user_test.rb +7 -0
  99. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/--/--mfnHuBeUWp4S0t5Gy9k8VFIhwH9_LeypHDTu0Tr_Y.cache +1 -0
  100. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-N/-NoFiyuUvy7n3K1PxiEyF7_ntONf3urTihjqgwKchcg.cache +0 -0
  101. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-X/-XFR33TgzW2uZ8FmmS1qlvD_wt-ox_qSWUqkuGQ6bNY.cache +1 -0
  102. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-Y/-YgMOSbIN0nMswWct7su9H9L0ICRZaRq34uti66AccM.cache +0 -0
  103. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0D/0DLlhyih7JQM6a36xn80gBEsL2G82TErD8Dj_whhN-U.cache +0 -0
  104. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0g/0gU8kGXleEoducYsLkjy0I4rqnsgoWaK8lr0kAj6bp8.cache +1 -0
  105. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1v/1vjyDvVwQZlnzxWly1brkoOTCuyetgHeuvD_e6dGKyM.cache +0 -0
  106. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/27/27CLtUz28kIcg6tIfaI14dpsrgCp7ic4eWUty-oq-sU.cache +3 -0
  107. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2F/2FM4u0wEV34qcad5bAQ22XooiME80Q0nmdLaov7r7rE.cache +0 -0
  108. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2y/2Y306WtiuaczRMe98h_Ef4LsZ7wmIC8iaa8c8EJinbs.cache +0 -0
  109. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2y/2yX2unfUzEDiZ4-YOag_nKmTGmuMxpM11mKaJOvfOlQ.cache +1 -0
  110. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3M/3Me2fKJpLVszUwxPRDsRAmn-4i9xo32wikeSt4U2wP8.cache +1 -0
  111. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/45/45ictadc7ZQCwBtuyUUnDphpgBJ7TJ6pcfxw3Rm8Vrs.cache +1 -0
  112. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4P/4PwXz69YXiFINqI_IN8j6RKuEt3OdudXYYLnaUq7rjo.cache +1 -0
  113. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4h/4hzVRVCmNzCaipE8Gr5-DBLrbCGbWpjcyBY9LdEj3jo.cache +0 -0
  114. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4x/4xpoeWRviufHh_q5whnyBr0pk8UQxCZPYQ6ftOStGLU.cache +0 -0
  115. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/54/54rewMnifJtcFqBk72TyTygb95Ttwy9bKfBZExpc-C0.cache +1 -0
  116. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/58/58sAgzwP4eFt7yuB9XYB1mxdOz0FJEh-xIOdTwXXE2Y.cache +0 -0
  117. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5h/5hHJvRWBp2bv5Ree05fgFaFaPqfaRhMLTEdkG-O6aVM.cache +0 -0
  118. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5m/5mO5S2MfbEUVxkXH46amJgMg-T2BHvPkW-PHDU1kP68.cache +0 -0
  119. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5r/5rJJjxkhn8Z92_UbvZfgoL5BcowL6nZNszQvsginLnk.cache +1 -0
  120. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6B/6B2r6p0vt9YHgITkhKEgJagg9pCZvP28XC8UOVcbLSQ.cache +1 -0
  121. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7d/7dwWkcsTuGWyWtwftKHD_gXp9W4odm_5You_aKR4fsg.cache +0 -0
  122. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7g/7gQSNgL-2DO1ds5Jv0PIG150XXV5HrGgSE1_9Y9lTGw.cache +0 -0
  123. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/87/87l8g48DzMElacGqDKT2Tw4SN-vPuWe-87l1WVSGGSU.cache +0 -0
  124. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8M/8MYgLnjJJ3blsJWL9xRH67td4kEWctoW8vYSPk16D4E.cache +1 -0
  125. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8r/8rGgH_J5ehLhHbE7cWWoP9Zec-2rlNUjBS9UFF-2ZIM.cache +3 -0
  126. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9j/9j6v9HXgAkMtDkZYoqP7GOaorSZsL5Rj7hbAazvTOzc.cache +0 -0
  127. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/A0/A0XqQCJjWHzYPT5e9-HBsso43aW4FSEDl0k6e4VGR2k.cache +0 -0
  128. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Aw/AwefclPt5cLFlWCSECVgQvodBrq_1V9JWkOGvfpoVe0.cache +1 -0
  129. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bm/Bm3fgDgbZDpu1Tg8RWJNvhqP_EtKfEUezpd5RtvfnVY.cache +0 -0
  130. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DU/DUUFwyjNig6oW4WouEVhntJB_JYYRXhEnvXjUhz2SS8.cache +1 -0
  131. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ex/ExToesB1w5_4dhyfTB7w2rnEW3JYsyiDCwQS5YryS6c.cache +1 -0
  132. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FG/FGTqZQ-ICnWRw_FIx5roRi8IATSdS5OkwrMtS3XtXBY.cache +0 -0
  133. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Fi/Fi7XjszeLrn8TVUuJQRwrmmVolcJXedDZtlfXb0e0_8.cache +0 -0
  134. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gk/GkeSNzAIKac6T0REp80cIYHQW869pVVY8_jS7YbxfXQ.cache +0 -0
  135. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/H0/H0IluIpOXOr2BxNlpAjzwArc75w56IB4mlScIpBdQ24.cache +1 -0
  136. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/H1/H1LhaUgwIO1D2k0RMMo2na3l-Elc5xpQKK5iBOp4F5I.cache +0 -0
  137. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JU/JUxqlgeXXBppIjEN9UyWuqzr4PfBPsUj011p_oO71do.cache +1 -0
  138. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K_/K_D8m4e3tDZRmnK3CKTP8bP5kmay4w-Td9Cu5U-ED-I.cache +0 -0
  139. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kb/KbL79CL_ql47tz33zx6iBjdGneWja5vKKEEAkW_w7NM.cache +0 -0
  140. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Kb/KbZGMmB8DJ2BA4mcdSXN4bebOMd0j8s4PkB0S-23XfE.cache +0 -0
  141. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/L3/L31_eyjOuFh92q-RAafvpnxszCNW9HoObtWVS4gpQHo.cache +1 -0
  142. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/LL/LLlnPIuN7QMIMMQ5nRnTNtLtkMx1LXfhg6fs2tDYaSk.cache +0 -0
  143. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Lm/LmnZza-YSYZY-dEHFm3EWLFVvsxsIOnCKJ5-3zlrOKk.cache +0 -0
  144. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Lu/LuFRHx4qb0l1K_A0pjAOQO8llKL2WaJRMKuH9JMNVw0.cache +0 -0
  145. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OA/OAtvFgJJQnarYrhlAK-vSgn9egwT1NDz78YqjstXCBA.cache +1 -0
  146. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OY/OYj0e5ox1ill6KB0XxgjT7dpx88kd1ow52UsaJwSHtE.cache +1 -0
  147. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Oc/OcrdvWm5dtFEHIomtrRuAU5SquzymBRnNyRpx-cEWvw.cache +2 -0
  148. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qo/QoIXukdcQouQLyMkre-k41LX_pHd0kKo57VZ79D9GS8.cache +0 -0
  149. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qp/QpwXeqd_RNMk--6i6e5jHxRvn5PaARBKDucD5In1F-s.cache +0 -0
  150. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TN/TN4TNVw5nI_0WW6X9CsSG4eDr1LJQclFhQNHtGOb2QA.cache +1 -0
  151. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/U0/U0FxO18TfrZeRQx8V4zoWPSskXIA2s9MHtP3lJfONWs.cache +1 -0
  152. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UC/UCvPD9uXZwJeEm-1pmKEMfgj4DjvUOf4dx2jhhhlv6k.cache +3 -0
  153. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ue/UeAHhO5lBiMllQvT8e5iL1ddSRsZxH0BHjYjHdjcSTY.cache +3 -0
  154. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ui/UiRXGeBaY88moPjIjUguzeNSGWaRyVS8tSCNjnwfwy8.cache +0 -0
  155. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Us/Us-RVGQ4-a94Pu0yyugJVYf4RxGXf-xlPqYtAiwYWjU.cache +0 -0
  156. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ut/UtGzFRo4wbBgA2fF_MZ8krZa159Z1A6aoxGAXDPmZVw.cache +2 -0
  157. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VG/VGChoLzfgrn9FobW4pun_Jde-mQ3MgDloMfYR8m6drM.cache +1 -0
  158. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vk/VkQUb2zhn-uTclXve3ha-oUJAN9l-rmuxFVuNSz9KYk.cache +1 -0
  159. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vm/VmFxkBmoolMrxZI2hEaFfp8wPGc33_oxQoGyaFsh70M.cache +0 -0
  160. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W-/W-pTadlsf_Vpkn5yWhaLXUV1aKGLvP0nhxewZnwjGBc.cache +0 -0
  161. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W3/W3Hibs-2ZXTSO00vDV2YhmzHjmvegpc-rARFtZTgyy8.cache +1 -0
  162. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X-/X-RlCEy2cN8eQ1d2pqsNwUZ4H4ej8ztuZ0MvZKgKmkk.cache +2 -0
  163. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X8/X8wS5wYKKTutqBv6YpD5Gpm2s_wyBehAQww9qxgE96Q.cache +1 -0
  164. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yc/Yc2cY6cLNXFppCCbQSm3-FiGXtBtRa3Tq1RKxgARljA.cache +1 -0
  165. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yo/YoZWJS_zeJGl5xpGe-YaWy9J3RRNaVwVnMLNbrWN6oM.cache +1 -0
  166. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZI/ZIsNAJOrG64AKjeXnqm0vARAqYLKq6PVhiiYDZXsuCg.cache +1 -0
  167. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZX/ZX7fzX0ySlnLNNqdDO5sM6XA_ajPzRgqPCnLt8hVYcA.cache +1 -0
  168. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zy/Zy0_Bbsl6EQYVutKT0oH9YCq2Cl53wPVkZn0dqjK4xk.cache +1 -0
  169. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_c/_c__nkkVWonX6jTabzOJ1VjpZtlO8F43EC-KB4ZaIZg.cache +1 -0
  170. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/a5/A5zisQ1zyxFgISw9mztcz0XbHTdurklNjleMx1aUA5U.cache +1 -0
  171. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/a5/a5O3NIdzPl0cdbCdVkYA9P9lpNRPjyMCViolW9XhLVo.cache +1 -0
  172. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aS/aS6nnaCaO7L6EkZaEVpCmd8KMTcB7_Z2RzKYn9y4EQ0.cache +1 -0
  173. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/am/amrEpszeLKtdRNJO_wvfR4CrCz0Ir06_TX8B7pq1cBg.cache +0 -0
  174. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bD/bD1YRW0nGSZSi6Yjf72ndpk0mSsnE2bIqF9HFpuQvJQ.cache +1 -0
  175. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bL/bLTJSRS-mPPtzb3ADwW73pG5RKqBMNyRSzmSykFI4aE.cache +1 -0
  176. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bL/bLpXenoWnkxKfzeQ13hl4RPrP7Bz-CtaezkMzIQlza8.cache +1 -0
  177. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b_/b_Itlk9QZZd7Rvf8kcA4yLP1R5Acu7jB-m1xQiSU0qE.cache +0 -0
  178. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dG/dGSOHXa2AZ0InnD5tvsjuust4kitbUMQ2Sl_m8wAyf8.cache +1 -0
  179. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dk/dkEweQBtw4njrs6iVJnj7ETQ4TymXPZEco06LxR-GkU.cache +0 -0
  180. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dt/dtAVvVgzfd4QVeFVwgVQEqfOZHSLv31NAGS--_AFFbk.cache +1 -0
  181. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dv/DvhTH0zff-ovDk0WuxtJVX52w1Dsj8mpTrlu13gFZLk.cache +0 -0
  182. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dv/dvFJw0JQySkre2qTOuLi3LGVG3Ph4EZAlO6DGxv-NnU.cache +0 -0
  183. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eE/eEuAk0x0P4OKjqc5gajF3htm7mCKzyqIXg6J12bCC3I.cache +2 -0
  184. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ef/efZTW0s76NnPeT2AOVM0HzsJS1xLONNJUHYE1zdCwGY.cache +0 -0
  185. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/el/elst6LxDf6uiVQqncFBRktiesQ9v596iWdTQYZawHEM.cache +0 -0
  186. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eu/euKy5W1SAHGCFuJPKmIrFquEdTMDPZUo6cDEhrPTLls.cache +0 -0
  187. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fA/fAViRsSZA5XPpdMKXZISeo6pwTqQvSbgV3DwDIabGNo.cache +0 -0
  188. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fD/fDLaGMMGspyWygH8LlU0lxLyilp70uVzb4RCmhjbnhM.cache +0 -0
  189. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fP/FPY6pMfBVF2ZZFxjkNoHy-pIX28YUKhYxeA3NetoKcc.cache +1 -0
  190. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fP/fPpdI9YznBUi8ANFCN5U-ZVmPliuf4NEJVoXO51WvJc.cache +1 -0
  191. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fP/fpQeY6CbAun98ZHomPg7-bNYZhRLvsamvuecQS5LMBU.cache +1 -0
  192. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/g0/g0330d9boKb5chcX02AeoulsGjVEEjZJWdlpD_XpJY4.cache +2 -0
  193. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gD/gD6ot5sYgE-WBfmqQ7IaCYuSjtyIndn5s8O2MW6o8GU.cache +1 -0
  194. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/im/im-Ko494HDK7aTzKHqKNowN3DyIBJn4TiHUm2mn2dhM.cache +1 -0
  195. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/j6/j65tprlPKeR-CehSzEgLSiUFS3AaYIJuzAKEk61ZA1Y.cache +1 -0
  196. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/j8/j8dyiExD2nG1_gMxpZvzzwB0yaR1R5ENefU2luvhl7Y.cache +2 -0
  197. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jP/jPNHfJkhkye_m0cM-YrVn04QupctcHRhUu8iwOOqhtw.cache +1 -0
  198. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kc/kcFhYA0d3emrDxUmud7c48o5u6yQwyeOVtMmwORgpBw.cache +0 -0
  199. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lk/lk9QnvV0ljxlBsK_QCOrLY03_QjoK5h_pKjjxNEd3SA.cache +1 -0
  200. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lr/lrTlK4TrzHJzJlyneDsyErO7wWUWPDmftoHVW7Rgj-0.cache +0 -0
  201. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lt/lty3VRZktpe4UVJ4_zXLYxW4_kA4BxdzbEJsDuzd2B0.cache +1 -0
  202. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mE/mESJqSh3IknWVtFxGBdjfQ7ucP3Qr3AnX_VN5XI8H9E.cache +1 -0
  203. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mN/mNRYoOqJlB5Q4bgxmEEBCwKWfK7rMHv78T86bTHR--Q.cache +1 -0
  204. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mX/mX1nlsL_SWOB4y22W5FheRX0YEONKyOY7xUeIvRiHco.cache +0 -0
  205. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nB/nBZaod2TAg-SCCdhqam2NT8yByjFoYKRNsrK2yYoQh8.cache +1 -0
  206. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nU/nUx82NupskukOpC2x2UWPfPZYfcqn_YiCdpx9zoDLSA.cache +1 -0
  207. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +0 -0
  208. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +0 -0
  209. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/o1/o14kRWbYMyhU0inykrB0P9jKoKHqRF0SwhpubuX6taU.cache +0 -0
  210. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oQ/oQLnX-2tNalupH2T660cx2Bv3YARzSKu8JZKCLp0j20.cache +1 -0
  211. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oQ/oQcpLerwTeJdicTzkZbtuTnmEkICELpCDAJS7ItOd7U.cache +0 -0
  212. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ob/obVCEvP8Mw6ENSbPK7wgHTWZpqyjoex_URTP6dey67g.cache +2 -0
  213. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oz/ozRNsKle-0dkVv9TVQv2L4j0KHKVorNn-Y1ZoqeH23k.cache +0 -0
  214. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pG/pGx8dgb85gcQO3XOrNlHmvafHPF-lL3uSCNTdhqPX18.cache +1 -0
  215. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p_/p_PWUDJLQf1atvZhhoyb-0AaUsrtHK8KU7kagZ2zyRM.cache +1 -0
  216. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pm/pmbWi2btd3KtBAF8CYhiLr2-ukFXxId0ylowGfqydkY.cache +0 -0
  217. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/q2/q2K0N7MblONWdUKKS4c9bfwNHDWuRkYadJCjok9UCXI.cache +1 -0
  218. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qu/qu7l1v4I55NHtTUGNIuAM2wJ3QBOQhANIRUwle_j1Y4.cache +1 -0
  219. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rV/rVSAQ3sTHbGs4UPCwZRbSQjlbfOm8AzJqR4k2gkf9hM.cache +1 -0
  220. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sH/sHXKrc5B3KBol-bEZM0XIznn6_BQVCPF7hasOTXNyO8.cache +1 -0
  221. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sM/sMKpdRSlEcVRbOqSsc__aw5mVMuXK3ZEPZCvViYNda8.cache +0 -0
  222. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sc/scdDaFuy71mZQ2arS0dSZNmPLSmiIMZa0swBAmPyiU8.cache +1 -0
  223. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uU/uUt5sf6NA2ya1M2MpCcLhrhyUw4WeEGEa8vsf7cekBQ.cache +0 -0
  224. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ug/ug5RHgJJ200_4orxQv-xqHnZDyPiPjgRhTVz7vgzWY4.cache +1 -0
  225. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v6/v6_ojZlJ1QDYoLVNY2SApvICGklrej1fxYJxFWb8IM4.cache +0 -0
  226. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/va/Vad7m3FUgOsZS7pl3DgNAPEvfAqBAG1_WKjqpGlJTG8.cache +0 -0
  227. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/va/va5poKCjsL5Wp3j5hL7wFbD7TcPBzheI2tiSnBh_3tM.cache +1 -0
  228. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xs/xsgBreUPfNwnblzhAkGChr7kJbU7PqO8PWyEW-CfEQY.cache +1 -0
  229. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/y7/y7F3_2-J_Arx_AkD0P3mAkqOjZ9JiMlGaxpmSM7lsRc.cache +1 -0
  230. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yF/yFPchNl88oBAJTCBwi9H9eL9EV2D7fNcEM7JjPpgg_k.cache +2 -0
  231. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/z4/z4D0MyZoHMzE_XiqOnR-a9JLt4SpmpFAFHiFUNIKEV8.cache +1 -0
  232. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zP/zPFxDYRLW-AMnp9IbPtHKk_--8Iy8dluhgknBCcqZcA.cache +0 -0
  233. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zZ/zZiuImW-YlPd_8deyKGG-Wku7gzX-sxgPRUJTBOpO0U.cache +1 -0
  234. data/spec/dummy/tmp/portability/1/build.zip +0 -0
  235. data/spec/dummy/tmp/portability/11/build.zip +0 -0
  236. data/spec/dummy/tmp/portability/14/build.zip +0 -0
  237. data/spec/dummy/tmp/portability/15/build.zip +0 -0
  238. data/spec/dummy/tmp/portability/17/build.zip +0 -0
  239. data/spec/dummy/tmp/portability/2/build.zip +0 -0
  240. data/spec/dummy/tmp/portability/4/build.zip +0 -0
  241. data/spec/dummy/tmp/portability/8/build.zip +0 -0
  242. data/spec/dummy/tmp/portability/9/build.zip +0 -0
  243. data/spec/dummy/tmp/restart.txt +0 -0
  244. data/spec/mailers/policy_manager/portability_mailer_spec.rb +194 -0
  245. data/spec/mailers/previews/policy_manager/portability_mailer_preview.rb +6 -0
  246. data/spec/models/policy_manager/config_spec.rb +29 -0
  247. data/spec/models/policy_manager/exporter_spec.rb +99 -0
  248. data/spec/models/policy_manager/portability_request_spec.rb +78 -0
  249. data/spec/models/policy_manager/portability_rule_spec.rb +56 -0
  250. data/spec/models/policy_manager/term_spec.rb +29 -0
  251. data/spec/models/policy_manager/user_spec.rb +118 -0
  252. data/spec/models/policy_manager/user_term_spec.rb +4 -0
  253. data/spec/rails_helper.rb +79 -0
  254. data/spec/spec_helper.rb +107 -0
  255. metadata +484 -18
@@ -0,0 +1,2 @@
1
+ "%��T���l�
2
+ %�`H�!o��"��}�M�g�
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/.rvm/gems/ruby-2.3.1/gems/actionview-5.2.0/lib/assets/compiled/rails-ujs.js?type=application/javascript&pipeline=self&id=103cf2f718755b398a2406971ab2ce64270a49decf8c708784a6bc2c056906f1:ET
@@ -0,0 +1 @@
1
+ "%��YA�>��xu7�=>:���� �`�F��1k�0
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/.rvm/gems/ruby-2.3.1/gems/chartkick-2.3.4/vendor/assets/javascripts/chartkick.js?type=application/javascript&pipeline=self&id=0c4850cb354b303acaf3bf972dcb217d65de30b7c5728021b5c8925af6b2522f:ET
@@ -0,0 +1,2 @@
1
+ "%��T���l�
2
+ %�`H�!o��"��}�M�g�
@@ -0,0 +1 @@
1
+ "%�d�-�K���`���8Y��3�͹/Y����a~K
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/javascripts/policy_manager/user_portability_requests.js?type=application/javascript&pipeline=self&id=020378bd32707c40ae2f0bd4ec6b5d00c22628ce070e5478d23930480fd0394e:ET
@@ -0,0 +1 @@
1
+ "%A��G �{h t�l�m�V���NE���f���
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/javascripts/policy_manager/portability_requests.js?type=application/javascript&pipeline=self&id=a3d0832addf7124538004aa7a12b26ee1678a7e01d39e487fbf1560b3ec442e0:ET
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/.rvm/gems/ruby-2.3.1/gems/chartkick-2.3.4/vendor/assets/javascripts/chartkick.js?type=application/javascript&pipeline=self&id=596021bd9f78574707c4918e1394011ae348ddb9a5320169b3ba0166f10c7b7c:ET
@@ -0,0 +1 @@
1
+ "%-s��z�9�<Zl<�f6S����/���zp�y,I�
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/javascripts/policy_manager/application.js?type=application/javascript&id=d2c9074e105cd6dea6077e04add5b8f365bb743695fe80ee82c2324d91ad9795:ET
@@ -0,0 +1 @@
1
+ "%�<������X���̀#+�����,�(o���
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/.rvm/gems/ruby-2.3.1/gems/actionview-5.1.6/lib/assets/compiled/rails-ujs.js?type=application/javascript&pipeline=self&id=9b1ce45cbcf5157d69e9f003617320eb95ffdef8b72d391f457888e51534967a:ET
@@ -0,0 +1 @@
1
+ "%H9��F�~��V��K�fڛ� �Z<�=�s��
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/javascripts/policy_manager/portability_requests.js?type=application/javascript&pipeline=self&id=4c7b1b61722dc45db70c03a70487cdb44206e7a2ab2ef367fc10930a31eb9bb1:ET
@@ -0,0 +1 @@
1
+ "%��B�����șo�$'�A�d��L���xR�U
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/javascripts/policy_manager/application.js?type=application/javascript&id=3ffd2402244633a76731c081e14a1352b2b7a577c77894c7d3e49898b7cd1ff7:ET
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/stylesheets/policy_manager/user_portability_requests.css?type=text/css&pipeline=self&id=104427d721efccb889e158d6347f0881232d6226869e6ce86f769fd5fb7dbe1d:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/cable.js?type=application/javascript&pipeline=self&id=171d563d753e00f302325a1ab70d4030d9decce6ec8517872d7b7b63882a497d:ET
@@ -0,0 +1,2 @@
1
+ x��XAo�0f�&� M␘n���$�4����u_w�����z�?�ʅ��ۦk��4�6�������{��??<�r��G�x�Go"�ј\?�r�d ��)h�Jzm�������XBM�^�p2�XS.з����V �ƶ�8�I"8���F�4��4O�ɀ ���|��}�6!�Zf$�,���b� +$z�˔��!���gJ���+A�d_i2���1�M("X��uW�Q֍��!hR` ��Q�' O@XN�b0��=;Q���d]
2
+ Z�k"xoΉ�8����l���D�׈,��\qv5��r�����ֲP��� �Sy�̤�j�<�͂-f��n�����;3[���F�B���Y�?@@� ��B�v
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/stylesheets/policy_manager/dashboard.css?type=text/css&pipeline=self&id=5578cba8d52793ebfdc59a6e26bb9d694d794435448a4a054cbd03c6a451cd5a:ET
@@ -0,0 +1 @@
1
+ "%��Rm�v�S3.��O�L���ڹc�ƕq�=_j�
@@ -0,0 +1,2 @@
1
+ "%���Œc�h�q-��е)4
2
+ �o����#
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/stylesheets/policy_manager/portability_requests.css?type=text/css&pipeline=self&id=5d0e90f4b583238155ec953a07a73155f9bc21e965c0cfb98e57f1d1f43f268a:ET
@@ -0,0 +1 @@
1
+ I"}app/assets/stylesheets/application.css?type=text/css&id=808dca2c4e556f0bff7e6e3c0a29a5fdf3841691d00c46ec56d552657f3378c4:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/cable.js?type=application/javascript&pipeline=self&id=b99fa151a7f3271e8fec13f49ec742dcba0a166d90def5388c4b022040008752:ET
@@ -0,0 +1,2 @@
1
+ "%*�<q;
2
+ ��Y�x��F��E��%L"��Iub
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/stylesheets/policy_manager/dashboard.css?type=text/css&pipeline=self&id=a03ca9b6435f7c007f91d1cdfcbef250a99f51abe0909c29b0a6994d4b7a2272:ET
@@ -0,0 +1 @@
1
+ "%֧�NTZq�בH�L��#p3��Jg!��)
@@ -0,0 +1 @@
1
+ "%Q�6O��������ٚ�UU���{%�;A�5��
@@ -0,0 +1 @@
1
+ "%��)��s���U�fwH�`��Q�>��}˸ڃQ
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&id=78a90bee14400f8f32b471fc0c07beb8417de3ccacc32d1d7fe67ef8e55958c7:ET
@@ -0,0 +1 @@
1
+ "%��B�����șo�$'�A�d��L���xR�U
@@ -0,0 +1 @@
1
+ "%S�*5ys������tm�X�.T��XL��
@@ -0,0 +1,2 @@
1
+ "%����͹mm�
2
+ a�l�|a56���v�6}��(&5
@@ -0,0 +1 @@
1
+ "%��B�����șo�$'�A�d��L���xR�U
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/stylesheets/policy_manager/application.css?type=text/css&pipeline=self&id=f1547a8aa6e19485fbc5d6689e52760a8421cd20d44c1716cc5809dc57039a49:ET
@@ -0,0 +1 @@
1
+ "%��+����j���O'-d5�w����9���k��
@@ -0,0 +1 @@
1
+ "%��=�F=�㿌�A�$4|�_.08�dP
@@ -0,0 +1 @@
1
+ "%��)��s���U�fwH�`��Q�>��}˸ڃQ
@@ -0,0 +1 @@
1
+ "%֧�NTZq�בH�L��#p3��Jg!��)
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/.rvm/gems/ruby-2.3.1/gems/chartkick-2.3.4/vendor/assets/javascripts/chartkick.js?type=application/javascript&id=b14dade018e41b76bb062776779e4805c66671f94e3824dbc27e2d1c4b830807:ET
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/stylesheets/policy_manager/portability_requests.css?type=text/css&pipeline=self&id=695723421782381aab9c197af6ad10a0aeebdebff63926e7cd8393cf849859b7:ET
@@ -0,0 +1 @@
1
+ "%�d�-�K���`���8Y��3�͹/Y����a~K
@@ -0,0 +1 @@
1
+ I"�/Users/michelson/Documents/rubyonrails/prey-control-panel/vendor/engines/terms/app/assets/stylesheets/policy_manager/application.css?type=text/css&id=e768c872ed8e0d27776c5b229aeb6188a61eac4c04815ddddca7de7da3214385:ET
@@ -0,0 +1,2 @@
1
+ "%*�<q;
2
+ ��Y�x��F��E��%L"��Iub
@@ -0,0 +1 @@
1
+ "%A��G �{h t�l�m�V���NE���f���
@@ -0,0 +1 @@
1
+ "%�<������X���̀#+�����,�(o���
File without changes
@@ -0,0 +1,194 @@
1
+ require 'spec_helper'
2
+
3
+ def reload_models
4
+
5
+ #if defined?(PolicyManager::ApplicationMailer)
6
+ # PolicyManager.send(:remove_const, :"ApplicationMailer")
7
+ # load PolicyManager::Engine.root + 'app/mailers/policy_manager/application_mailer.rb'
8
+ #end
9
+
10
+ #if defined?(User)
11
+ # Object.send(:remove_const, :User)
12
+ # load Rails.root + 'app/models/user.rb'
13
+ #end
14
+
15
+ end
16
+
17
+ module PolicyManager
18
+ describe PortabilityMailer do
19
+
20
+ before :each do
21
+ @exporter_config = {
22
+ path: Rails.root + "tmp/export",
23
+ resource: User ,
24
+ index_template: '<h1>index template, custom</h1>
25
+ <ul>
26
+ <% @collection.each do |rule| %>
27
+ <li><%= link_to rule.name, "./#{rule.name}/index.html" %></li>
28
+ <% end %>
29
+ </ul>',
30
+ after_zip: ->(zip_path, resource){
31
+ puts "THIS IS GREAT #{zip_path} was zipped, now what ??"
32
+ }
33
+ }
34
+
35
+ Config.stubs(:from_email).returns("foo@bar.org")
36
+
37
+ end
38
+
39
+ it "progress notification with custom template" do
40
+ @config = PolicyManager::Config.setup do |c|
41
+ c.from_email = "foo@bar.org"
42
+ c.admin_email_inbox = "foo@baaz.org"
43
+ c.exporter = @exporter_config.merge({mailer_templates: {
44
+ path: "user_mailer",
45
+ progress: "progress"
46
+ }
47
+ })
48
+ end
49
+
50
+ reload_models
51
+
52
+ user = User.create(email: "a@a.cl")
53
+ assert !user.errors.any?
54
+ preq = user.portability_requests.create
55
+ preq.confirm!
56
+
57
+ sent_email = PortabilityMailer.progress_notification(preq.id)
58
+
59
+ assert_equal [@config.from_email], sent_email.from
60
+ assert_equal [user.email], sent_email.to
61
+ assert_equal 'Your data is being handled', sent_email.subject
62
+ assert_match 'in progress!', sent_email.body.to_s
63
+ end
64
+
65
+ it "progress notification with default template" do
66
+
67
+ @config = PolicyManager::Config.setup do |c|
68
+ c.from_email = "foo@bar.org"
69
+ c.admin_email_inbox = "foo@baaz.org"
70
+ c.exporter = @exporter_config
71
+ end
72
+
73
+ reload_models
74
+
75
+ user = User.create(email: "a@a.cl")
76
+ assert !user.errors.any?
77
+ preq = user.portability_requests.create
78
+ preq.confirm!
79
+
80
+ sent_email = PortabilityMailer.progress_notification(preq.id)
81
+
82
+ assert_equal [@config.from_email], sent_email.from
83
+ assert_equal [user.email], sent_email.to
84
+ assert_equal 'Your data is being handled', sent_email.subject
85
+ assert_match 'hello your files are being downloaded', sent_email.body.to_s
86
+ end
87
+
88
+ it "completed notification with custom template" do
89
+
90
+ @config = PolicyManager::Config.setup do |c|
91
+ c.from_email = "foo@bar.org"
92
+ c.admin_email_inbox = "foo@baaz.org"
93
+ c.exporter = @exporter_config.merge!({mailer_templates: {
94
+ path: "user_mailer",
95
+ complete: "complete",
96
+ progress: "progress"
97
+ }
98
+ })
99
+ end
100
+
101
+ reload_models
102
+
103
+ user = User.create(email: "a@a.cl")
104
+ assert !user.errors.any?
105
+ preq = user.portability_requests.create
106
+ preq.confirm!
107
+ preq.complete!
108
+
109
+ sent_email = PortabilityMailer.completed_notification(preq.id)
110
+
111
+ assert_equal [@config.from_email], sent_email.from
112
+ assert_equal [user.email], sent_email.to
113
+ assert_equal 'Your data is available', sent_email.subject
114
+ assert_match 'completed!', sent_email.body.to_s
115
+ end
116
+
117
+ it "completed notification with default template" do
118
+
119
+ @config = PolicyManager::Config.setup do |c|
120
+ c.from_email = "foo@bar.org"
121
+ c.admin_email_inbox = "foo@baaz.org"
122
+ c.exporter = @exporter_config
123
+ end
124
+
125
+ reload_models
126
+
127
+ user = User.create(email: "a@a.cl")
128
+ assert !user.errors.any?
129
+ preq = user.portability_requests.create
130
+ preq.confirm!
131
+ preq.complete!
132
+
133
+ sent_email = PortabilityMailer.completed_notification(preq.id)
134
+
135
+ assert_equal [@config.from_email], sent_email.from
136
+ assert_equal [user.email], sent_email.to
137
+ assert_equal 'Your data is available', sent_email.subject
138
+ assert_match 'your complete data was processed and can be downloaded', sent_email.body.to_s
139
+ end
140
+
141
+ it "admin notification with custom template" do
142
+
143
+ @config = PolicyManager::Config.setup do |c|
144
+ c.from_email = "foo@bar.org"
145
+ c.admin_email_inbox = -> (o){ "foo@bar.org" }
146
+ c.exporter = @exporter_config.merge({mailer_templates: {
147
+ path: "user_mailer",
148
+ complete: "complete",
149
+ progress: "progress",
150
+ admin: "admin"
151
+ }
152
+ })
153
+ end
154
+
155
+ reload_models
156
+
157
+ user = User.create(email: "a@a.cl")
158
+ assert !user.errors.any?
159
+ preq = user.portability_requests.create
160
+ preq.confirm!
161
+
162
+ sent_email = PortabilityMailer.admin_notification(user.id)
163
+
164
+ assert_equal [@config.from_email], sent_email.from
165
+ assert_equal [@config.from_email], sent_email.to
166
+ assert_equal 'User ' + user.email + ' sent a portability request', sent_email.subject
167
+ assert_match 'admin portability notification', sent_email.body.to_s
168
+ end
169
+
170
+ it "admin notification with default template" do
171
+
172
+ @config = PolicyManager::Config.setup do |c|
173
+ c.from_email = "foo@bar.org"
174
+ c.exporter = @exporter_config
175
+ c.admin_email_inbox = "foo@bar.org"
176
+ end
177
+
178
+ reload_models
179
+
180
+ user = User.create(email: "a@a.cl")
181
+ assert !user.errors.any?
182
+ preq = user.portability_requests.create
183
+ preq.confirm!
184
+
185
+ sent_email = PortabilityMailer.admin_notification(user.id)
186
+
187
+ assert_equal [@config.from_email], sent_email.from
188
+ assert_equal [@config.from_email], sent_email.to
189
+ assert_equal 'User ' + user.email + ' sent a portability request', sent_email.subject
190
+ assert_match 'hello, the user ' + user.email + ' sent a portability request.', sent_email.body.to_s
191
+ end
192
+
193
+ end
194
+ end
@@ -0,0 +1,6 @@
1
+ module PolicyManager
2
+ # Preview all emails at http://localhost:3000/rails/mailers/portability_mailer
3
+ class PortabilityMailerPreview < ActionMailer::Preview
4
+
5
+ end
6
+ end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ describe PolicyManager::Config do
4
+ it "return empty rules" do
5
+ config = PolicyManager::Config.setup do
6
+ end
7
+ assert config.rules == []
8
+ end
9
+
10
+ it "add rule default" do
11
+ config = PolicyManager::Config.setup do |c|
12
+ c.add_rule({ name: "age" })
13
+ end
14
+ assert config.rules.size == 1
15
+ assert config.rules.first.name == "age"
16
+ assert config.rules.first.validates_on == nil #== [:create]
17
+ end
18
+
19
+ it "add rule on" do
20
+ config = PolicyManager::Config.setup do |c|
21
+ c.add_rule({ name: "age", validates_on: [:create, :update] })
22
+ end
23
+ assert config.rules.size == 1
24
+ assert config.rules.first.name == "age"
25
+ assert config.rules.first.validates_on == [:create, :update]
26
+ end
27
+
28
+ end
29
+