gdpr_rails 0.3.4 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/policy_manager/concerns/user_terms.rb +42 -0
  3. data/app/controllers/policy_manager/user_terms_controller.rb +6 -64
  4. data/app/models/policy_manager/concerns/user_behavior.rb +5 -5
  5. data/app/models/policy_manager/portability_request.rb +1 -1
  6. data/app/models/policy_manager/user_term.rb +1 -1
  7. data/lib/policy_manager/config.rb +1 -1
  8. data/lib/policy_manager/version.rb +1 -1
  9. data/spec/dummy/app/models/another_user.rb +26 -0
  10. data/spec/dummy/config/database.yml +1 -1
  11. data/spec/dummy/db/development.sqlite3 +0 -0
  12. data/spec/dummy/db/migrate/20190221193827_create_another_users.rb +9 -0
  13. data/spec/dummy/db/schema.rb +4 -33
  14. data/spec/dummy/log/development.log +443 -0
  15. data/spec/dummy/log/test.log +43784 -0
  16. data/spec/dummy/test/fixtures/another_users.yml +7 -0
  17. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-a/-aHQxwP06Q1l3SFvBIxMiQYltGHC1m8JxkYfDgYrLAQ.cache +0 -0
  18. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-g/-gjzp-ck2yb6Tdt89GKu6zXQ2WQKkhpSiJVFkbrB1EA.cache +1 -0
  19. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-h/-hlM1kR2vjOUm5WXoeZIHyodp0CoKRebRsO_NBtsoyI.cache +0 -0
  20. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-t/-t8f990sOfpmPQ4Z8vmOf6mEfDZ2yoWG9ULAHI1RZOE.cache +1 -0
  21. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0E/0EAgLp4avByXCEGss-kYmNLhcq1TDHSA3tzzO3voKqc.cache +1 -0
  22. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0k/0keLS7n7BrF1dW6jOPaZlLoMNgN0SdbpEz1hGQg6Vdc.cache +0 -0
  23. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1b/1bEROIwc5oQj23SZ2htz-UPdxilvNkK-_zO2enz89cQ.cache +2 -0
  24. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1r/1rL0_vhnXKflEHCIhayqGKvIahggn4OM32S-u9cldjs.cache +1 -0
  25. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/22/22qlopVfSb-NAprLkGvGFnrrGyT3aknPTd1mcr9n6iM.cache +1 -0
  26. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2z/2zaQH3i5-H2sAGaNv1xhwKPIupojlSZsUhWxDle6dls.cache +0 -0
  27. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3I/3IMIH0CnWgFKpGfyuz6cqr3GQqw5Kqr4FXeY2T4t2Ms.cache +1 -0
  28. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3P/3PkdTX8Fs3jHWDVmgTw678B9TbL72pTiao-Sa14xQAE.cache +3 -0
  29. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4k/4kyxn8Xl9YphOdLdBhWr_oNqL32lFejOAFviuHukNH8.cache +0 -0
  30. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/59/59CiVYAVFPtvleIV5bHPFieuEuNeWBXLu_pPlA_AU38.cache +0 -0
  31. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5m/5mO5S2MfbEUVxkXH46amJgMg-T2BHvPkW-PHDU1kP68.cache +0 -0
  32. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5y/5yHoqy9mnUxVO_i7ZR-K03kXQK-auoOt-eBEjU5OXj4.cache +1 -0
  33. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6A/6AIzqF1gZnraQ1STmFh6RLU-Lxt6gmnLKOKd_b5mua8.cache +1 -0
  34. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6A/6aYIoeQLvEzSfCg96v48NbCUftuuT8AtEkX9QZMqSW0.cache +1 -0
  35. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/72/726z-qbVgHrbQwjA24SMkQj6NC01NKV26LKL5YIEMrw.cache +0 -0
  36. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7J/7J4keF13Jv41wAmHnJtghu6FAyawJVTtonJ0-W3-rTM.cache +2 -0
  37. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7P/7PIUbRiV8Y8GWYRSWsdwmX44RmQMsTejd_b5_UJLib0.cache +1 -0
  38. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7h/7hZcMIiObzta3kek4vjVvIDlUxHE5zpJaz6IEbsKk_0.cache +0 -0
  39. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8e/8e4FRdl1DMMQtTXSFykJV9GTvmFlTDM33Wr2aQimDt4.cache +1 -0
  40. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9-/9-OTYYYlxRuwJWIldQDi-9Fl_V3yAuvawsIbqh41DDI.cache +1 -0
  41. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/A-/A-6FMllBPcMUYEz2RuYEqpusM4sB1VYB-nr2pjLdxxE.cache +1 -0
  42. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AI/AIRy1qewdSPu4KspUovTsLLWBUegd-Noyw1-CrJOxw4.cache +1 -0
  43. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CS/CSAj2e_TLDqvgl3MRh-6RE9I841LoqSDZOd2rLLyfFw.cache +1 -0
  44. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CV/CV6JVVdW1ZMxnoQDN54ivA-jQX8pXqRAMO0M9nbcrAU.cache +1 -0
  45. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CY/CYjbcilVseR74bMqiNJQvYDEfhtXuiyZXgmnuUsGkV8.cache +0 -0
  46. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cu/CuTGLxessomzqUukr5eNIW47zWSw2EcrkHjPU2T79Ss.cache +1 -0
  47. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Du/DUyo6-s7Nz9FkQCddo6QBemrhIKpLvgP_EQlVIvCMIc.cache +1 -0
  48. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Du/DusKbND6jVwMWGdbLHHFIXSn-VyGoaDFMzfyiRGa01g.cache +1 -0
  49. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dw/Dw5Rv79fHl7RhN7UndE5QWTk2XxlGR8E4TGriK-fTRo.cache +2 -0
  50. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dz/DzxYG8j_Hk80TSDytBYzhEh4iw2qgnThsphbRfb8Yo0.cache +1 -0
  51. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FG/FGTqZQ-ICnWRw_FIx5roRi8IATSdS5OkwrMtS3XtXBY.cache +0 -0
  52. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FV/FVo-aHKXwy1yxqSMJbkLyHPwRAyFujt9uxWXYbPica0.cache +0 -0
  53. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gh/Gh11Op6cnd3BVM_BqiVDDFJMYQXzF1Rs0H85KKvS6gg.cache +0 -0
  54. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/H3/H3QsZsFck_eI2szqQIJX6m6CKepNHfW03O7kDjLp67M.cache +0 -0
  55. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HB/HBAJM5iGpE8mygYQoQXo94iLywhzb50rXbxsp-0QFHo.cache +0 -0
  56. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I5/I5hN3KZt5ivvrkpxjmtRV7IuDmIkCg7oIwzDmNiIcBo.cache +1 -0
  57. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JB/JBRp7gYK7Am4VSpEA2KtgnJ7hUn_uWR4Efyepn583_Y.cache +1 -0
  58. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JU/JUavCo99Fo8fIYH8WHAJW0VWKrwWxzX3SkQ6tVnqa8A.cache +1 -0
  59. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K9/K9kikk4UzNAlj-ylS9V_SIXVh9akPqvgC2wmXLSKPWw.cache +1 -0
  60. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/L7/L7xnnxbChRgMZtzQzwy05Js412R7_RUgJg5FSuH_n4k.cache +0 -0
  61. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MJ/MJ17_sTXgjjs1pZDWp0lj7tCTp9kQ6siEqPiIt0yeEQ.cache +1 -0
  62. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Mu/Mu1Oqh4YiJx7b3kXCVW0vmwspLRRCO76QR5CZ4hNCjg.cache +1 -0
  63. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NA/NAkzU02rQDJYnKyMltEcsYO4LSTYpGAiYpADUzqbNVw.cache +1 -0
  64. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NH/NHI6S815-hL6Dzee6b-DdCQZRvPmaxbOawD8EFc68YI.cache +1 -0
  65. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NU/NUom7-2vYXd_eEJPYknrsAwAZ8wjIt7PYHRy5_IbFVc.cache +1 -0
  66. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OW/OWzR1WGfjf6E9LsFGmqv9FjKF7tLnK91uhEw79KE-mo.cache +0 -0
  67. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PE/PEjWR-I1zxRHtUF7gbBQ1Ek7DoXi1LdpgEd0DtAHDdQ.cache +0 -0
  68. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pi/Pi3bAArV_H1E3W8ia0iNyPPhD5YJQ4508ZX7CzdKPQU.cache +0 -0
  69. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pp/PpNVKBqdav3EobsJmcyre8lzG1wClMVj9j-2gmU2QRM.cache +1 -0
  70. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/R6/R6FpOoS6EuiKrVXgMbcjad3Ibr_VL2W0KYP47A7jaxI.cache +0 -0
  71. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RF/RFIQgPTxjMCnNgoYLpS0zLAlSPqlYgp-yNLrpiT6bNs.cache +0 -0
  72. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ra/RaAeFkh66Icz5PuPcBMb_Kn4lKaFCxMKj3Mf5u0rJpM.cache +1 -0
  73. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rg/Rg8-NBWaLbUxa3ffglccKpJoe3Qp62cXTBJf0YKOicI.cache +0 -0
  74. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tf/TfX7CKxq9CGT0II7byr8IDUgkKUETRmyqd3UTh_q0w4.cache +1 -0
  75. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Us/UsdQRHUf-zrBnHLmAUGpqNF9-AcpT3ALFZGgMQudV0w.cache +0 -0
  76. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/V-/V-jtx_79ypXyz8ax35C8m7_j7yusZ11XHrXUA9z7XMI.cache +1 -0
  77. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/W1/W1UKBtf-STM8xlySkcIx-mG8XFQ9ajXmcF05Ltisu0I.cache +1 -0
  78. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/WL/WLQS2trklavDjrIyu36sVxonmT5JolxoyuE45epHAdw.cache +1 -0
  79. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YA/YA3wOiaLDEYoaqT5DFTqyfKYTjY_rFd14qGwFOPMTZ4.cache +1 -0
  80. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ys/YsT84heq92j3foWlXO6byYWcCudufPlS0Oq-EZnduXs.cache +1 -0
  81. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ys/ys3mA-zRRUGP0S4iTcKx_RonHf_WAQp99ZGpkNQwvzE.cache +1 -0
  82. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yu/YukzgTJTB7k2Fwy2rMGCD8hZY90GFYlbkAT4YmW_UYE.cache +0 -0
  83. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZB/ZByeGqvssY6UTbq1m29fzJrwC_P4U10nc_zXYXqUSSg.cache +0 -0
  84. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZU/ZUvhYFT9e0Nd2rmhFfmJWeAW5fijeeZMO1NbJ3qi8pg.cache +1 -0
  85. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zv/ZvZwK5ypI2yuEEbYHYJl1co5hGUZ2tRDWwF9JwfQM_c.cache +3 -0
  86. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bS/bS3iC0H4_Ge-r9Sbi8YcH91uja7SfilnJfetBOaFrDw.cache +2 -0
  87. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/b_/b_Itlk9QZZd7Rvf8kcA4yLP1R5Acu7jB-m1xQiSU0qE.cache +2 -0
  88. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/eB/eBlG7T8TAhmoTaPohjEANUNiW0UHMQZXnmITm4gJimI.cache +0 -0
  89. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ey/EYjFXzqqLtiodZKUuOD38psN3mbJhkiMNH1KMJHtjVg.cache +1 -0
  90. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ey/eyvM_HCZA_hlXW6K1xu6P9_Mea3gLMQBwVbUxWA6Ttw.cache +3 -0
  91. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/f_/f_i36Hmu17xYcpc3jDVCAzykva6KquwYGdqqLgRwiE0.cache +0 -0
  92. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fa/faPn7B4zieXAAvcPec_s0FA6FtbAXXk114vv1ojuGUo.cache +1 -0
  93. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ft/ftJPgTPp6dnElMFIzpHJCUikKcpFW8db_yZGUaZ_W70.cache +0 -0
  94. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/g1/g1u_oGi3pgA-2uAtIqn3G9Fu9DnuCCIt3cMsn-a6iRY.cache +2 -0
  95. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ge/geIQ-vL4sRcpZWAUIm1GWhS8A1_YU2ndjIdVJCS-Uvo.cache +0 -0
  96. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jC/jCh_R4fzgyGAxgZmG717sTbhYTe2-p-EA0Wtj1Y7UbQ.cache +1 -0
  97. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lg/lg1ExD6zq_Fv1Ht71z2B1MwWlhUeyq0rAT-gP_8-37c.cache +3 -0
  98. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ll/llIDdeIkmyURZ2DbBvGx9ELYgC05FPyZaiMs47zl_rI.cache +1 -0
  99. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ln/lnkOHZjj0qN0wjdDTqISbwi3rpVgKphccVPphNphEzY.cache +1 -0
  100. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mX/mX1nlsL_SWOB4y22W5FheRX0YEONKyOY7xUeIvRiHco.cache +0 -0
  101. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +0 -0
  102. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +0 -0
  103. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oz/ozRNsKle-0dkVv9TVQv2L4j0KHKVorNn-Y1ZoqeH23k.cache +0 -0
  104. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p0/p0UgQyUa03wLjKCdKoh6l88KkFZm51Y6l2ErCpLpq6I.cache +1 -0
  105. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p0/p0jMhMrkXWEXKdz0A_xO8foeJcDMfZU725lMT6cB9vk.cache +0 -0
  106. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pc/pcLEltO95ofx-rKi148bXemS3vuiolGFQrQTEEaufBg.cache +1 -0
  107. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pz/pzM3RUUwtXKhQ3imcaa9doASJAQJ3zXWHSk-tMaPmTE.cache +0 -0
  108. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qO/qOCD4lYmSNrCmsS2Dlso08gYE3XqDgH6jfj8qv53VZE.cache +0 -0
  109. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qg/qgo_TK76kN_M7OIblszKynmFxms-BnGAEcMuCFCcUmk.cache +1 -0
  110. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rh/RhnOcAIH9GnZzgm48mq6kDm02o5RD0ruwS7Vc22Z0kA.cache +0 -0
  111. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rh/rhiHxaMtmmZZYiO583Or4k7BPLAmMzeqyLc0gmJoKLg.cache +0 -0
  112. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rx/rxcwzzK5tXb6VXzTjzMxfy6a4CdCOrU4mpq6zsOSCXE.cache +0 -0
  113. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sX/sX4_nDcAYBCSCoSVewGQxOL5FI9vJgNVUSWDFwA0tUQ.cache +0 -0
  114. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tc/tc_cLeZ4aQAI-SY7F67fDqd3rcESqbLaDrjsh6aE6FU.cache +1 -0
  115. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/to/tofj2C9SbKyYUj_dML3zHTK91A1mHAqikxNxok-XGGU.cache +0 -0
  116. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uU/uUlJF0msNAdT4ST6rqRUkAdlH9vL4_Q3uAmcPmr_7Xw.cache +0 -0
  117. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uU/uuTD2W9Def3Rk5kCW8BxVAcw6OvGZXvyHOy72YZCow0.cache +0 -0
  118. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v0/v06KWsxyryY_cefXxIgvJij95aGaUkbxq3A885_7y5o.cache +1 -0
  119. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vL/vLX0REBBtf63M9wzTi_c5JGvFp6Hw2TfvB8QNTvXF1o.cache +0 -0
  120. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w9/w9K9vo0RempLOAQVeC3k12n9QJ1o7uyzzByc4y6PMmQ.cache +0 -0
  121. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wX/wXNkAN8ZgMZVOPKuGDGGtarO_P1jzW9WrhvM9WdMtTM.cache +1 -0
  122. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xF/xFziKPVCIY03L0QMyGb_Qwosu5RqxS2bgjsJa7lXZ_Q.cache +1 -0
  123. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xH/xHYVu8nN-cIJEamW8IVhmY-VieizkWObrlah08OoMyA.cache +1 -0
  124. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xQ/xQdSRH9yEopgH30aAN2vKW4HkDMMAt4XVJF-EKUMOhk.cache +2 -0
  125. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xX/xXItV0-SqLEWMVEQR95OPM6uasu-sSI008PLfVivz8g.cache +0 -0
  126. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xa/xaZG1JF1braF1MlRAgPC19dVKkA9Xdlx7YQb0JOOoF0.cache +1 -0
  127. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/z9/z9O51M9rznozjEDoJhswOkaolmfanQKZyCIXuM8jDqs.cache +3 -0
  128. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zK/zKriUMIyjtR_QgfrDDjxeTzXauxjjWEFjfQwqLHULSE.cache +0 -0
  129. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/z_/z_i_-cAgESR9YdjR1qCZHQyu2qGIM0Ypxyk6hR6EYb4.cache +0 -0
  130. data/spec/dummy/tmp/export/28/exportable_data/10/index.html +14 -0
  131. data/spec/dummy/tmp/export/28/exportable_data/2/index.html +14 -0
  132. data/spec/dummy/tmp/export/28/exportable_data/3/index.html +14 -0
  133. data/spec/dummy/tmp/export/28/exportable_data/4/index.html +14 -0
  134. data/spec/dummy/tmp/export/28/exportable_data/5/index.html +14 -0
  135. data/spec/dummy/tmp/export/28/exportable_data/6/index.html +14 -0
  136. data/spec/dummy/tmp/export/28/exportable_data/7/index.html +14 -0
  137. data/spec/dummy/tmp/export/28/exportable_data/8/index.html +14 -0
  138. data/spec/dummy/tmp/export/28/exportable_data/9/index.html +14 -0
  139. data/spec/dummy/tmp/export/28/exportable_data/index.html +14 -0
  140. data/spec/dummy/tmp/export/28/index.html +16 -0
  141. data/spec/dummy/tmp/export/28-out.zip +0 -0
  142. data/spec/dummy/tmp/portability/1/build.zip +0 -0
  143. data/spec/dummy/tmp/portability/14/build.zip +0 -0
  144. data/spec/dummy/tmp/portability/15/build.zip +0 -0
  145. data/spec/dummy/tmp/portability/16/build.zip +0 -0
  146. data/spec/dummy/tmp/portability/17/build.zip +0 -0
  147. data/spec/dummy/tmp/portability/18/build.zip +0 -0
  148. data/spec/dummy/tmp/portability/2/build.zip +0 -0
  149. data/spec/dummy/tmp/portability/20/build.zip +0 -0
  150. data/spec/dummy/tmp/restart.txt +0 -0
  151. data/spec/models/policy_manager/another_user_spec.rb +134 -0
  152. data/spec/models/policy_manager/exporter_spec.rb +1 -0
  153. data/spec/models/policy_manager/portability_request_spec.rb +4 -1
  154. data/spec/models/policy_manager/user_spec.rb +13 -2
  155. metadata +300 -3
@@ -0,0 +1,16 @@
1
+ <body>
2
+ <strong>/Users/michelson/Documents/rubyonrails/gdpr_rails/spec/dummy/tmp/export/28</strong>
3
+ <br/>
4
+ <strong>/Users/michelson/Documents/rubyonrails/gdpr_rails/spec/dummy/tmp/export/28/index.html</strong>
5
+ <br/>
6
+ <strong>./</strong>
7
+ <br/>
8
+ <li><a href="./exportable_data/index.html">exportable_data</a></li>
9
+ <h1>layout header</h1>
10
+
11
+ <h1>index template, custom</h1>
12
+ <ul>
13
+ <li><a href="./exportable_data/index.html">exportable_data</a></li>
14
+ </ul>
15
+ <footer>layout footer</footer>
16
+ </body>
Binary file
File without changes
@@ -0,0 +1,134 @@
1
+ require 'spec_helper'
2
+
3
+
4
+ describe AnotherUser do
5
+
6
+ before(:each) do
7
+ @config = PolicyManager::Config.setup do |c|
8
+ c.user_resource = AnotherUser
9
+ c.admin_user_resource = AnotherUser
10
+
11
+ c.add_rule({ name: "age", validates_on: [:create, :update], if: ->(o) { o.enabled_for_validation } })
12
+ c.from_email = "foo@bar.org"
13
+ c.admin_email_inbox = "foo@baaz.org"
14
+ c.user_language_method = -> (o) { o.lang }
15
+ c.exporter = {
16
+ path: Rails.root + "tmp/export",
17
+ resource: AnotherUser,
18
+ index_template: '<h1>index template, custom</h1>
19
+ <ul>
20
+ <% @collection.each do |rule| %>
21
+ <li><%= link_to rule.name, "./#{rule.name}/index.html" %></li>
22
+ <% end %>
23
+ </ul>',
24
+ layout: "portability",
25
+ after_zip: ->(zip_path, resource) {
26
+ puts "THIS IS GREAT #{zip_path} was zipped, now what ??"
27
+ }
28
+ }
29
+ end
30
+
31
+ if defined?(AnotherUser)
32
+ Object.send(:remove_const, :AnotherUser)
33
+ load Rails.root + 'app/models/another_user.rb'
34
+ end
35
+
36
+ if defined?(PolicyManager::UserTerm)
37
+ PolicyManager.send(:remove_const, :'UserTerm')
38
+ load Rails.root + "../../app/models/policy_manager/user_term.rb"
39
+ end
40
+
41
+ pr = PolicyManager::Term.create(description: "el", rule: "age")
42
+ pr.publish!
43
+ end
44
+
45
+ after(:each) do
46
+ @config = PolicyManager::Config.setup do |c|
47
+ c.user_resource = nil
48
+ c.admin_user_resource = nil
49
+ end
50
+ end
51
+
52
+ it "dummy user creation with validation rules" do
53
+ user = AnotherUser.create(email: "a@a.cl")
54
+ assert user.errors.any?
55
+ assert user.errors[:policy_rule_age].present?
56
+ user = AnotherUser.create(email: "a@a.cl", policy_rule_age: true)
57
+ # byebug
58
+ assert user.persisted?
59
+ end
60
+
61
+ it "dummy user creation without validation rules (if)" do
62
+ AnotherUser.any_instance.stubs(:enabled_for_validation).returns(false)
63
+ user = AnotherUser.create(email: "a@a.cl")
64
+ assert !user.errors.any?
65
+ end
66
+
67
+ it "get policies on empty terms will not return pending policies" do
68
+ user = AnotherUser.create(email: "a@a.cl", policy_rule_age: true)
69
+ assert user.pending_policies.size == 0
70
+ end
71
+
72
+ it "has_consented_meth?" do
73
+ user = AnotherUser.create(email: "a@a.cl", policy_rule_age: true)
74
+ assert user.has_consented_age?
75
+ end
76
+
77
+ it "create without policy" do
78
+ user = AnotherUser.create(email: "a@a.cl")
79
+ assert user.errors.any?
80
+ end
81
+
82
+ it "get policies on existing terms will return pending policies" do
83
+ pr = PolicyManager::Term.create(description: "aaa", rule: config.rules.first.name)
84
+ pr.publish!
85
+ user = AnotherUser.create(email: "a@a.cl", policy_rule_age: true)
86
+ pr = PolicyManager::Term.create(description: "version 2", rule: "age")
87
+ pr.publish!
88
+ assert user.pending_policies.size == 1
89
+ assert user.needs_policy_confirmation_for?(config.rules.first.name)
90
+ end
91
+
92
+ it "accept policies will empty pending policies" do
93
+ pr = PolicyManager::Term.create(description: "aaa", rule: config.rules.first.name)
94
+ pr.publish!
95
+ user = AnotherUser.create(email: "a@a.cl", policy_rule_age: true)
96
+ pr = PolicyManager::Term.create(description: "version 2", rule: "age")
97
+ pr.publish!
98
+ assert user.pending_policies.size == 1
99
+ user_term = user.handle_policy_for(config.rules.first.terms.last)
100
+ user_term.accept!
101
+ assert user.pending_policies.size == 0
102
+ end
103
+
104
+ it "can request portability" do
105
+ AnotherUser.any_instance.stubs(:enabled_for_validation).returns(false)
106
+ user = AnotherUser.create(email: "a@a.cl")
107
+ assert !user.errors.any?
108
+ assert user.can_request_portability?
109
+ preq = user.portability_requests.create
110
+ preq.confirm!
111
+ end
112
+
113
+ it "can't request portability if has one pending" do
114
+ AnotherUser.any_instance.stubs(:enabled_for_validation).returns(false)
115
+ user = AnotherUser.create(email: "a@a.cl")
116
+ assert !user.errors.any?
117
+ assert user.can_request_portability?
118
+ preq = user.portability_requests.create
119
+ assert !user.can_request_portability?
120
+
121
+ end
122
+
123
+ it "can't request portability if has one in progress" do
124
+ AnotherUser.any_instance.stubs(:enabled_for_validation).returns(false)
125
+ user = AnotherUser.create(email: "a@a.cl")
126
+ assert !user.errors.any?
127
+ assert user.can_request_portability?
128
+ preq = user.portability_requests.create
129
+ preq.confirm!
130
+ assert !user.can_request_portability?
131
+
132
+ end
133
+
134
+ end
@@ -61,6 +61,7 @@ describe PolicyManager::Exporter do
61
61
 
62
62
  it "initialize folder & clear folder" do
63
63
  person = OpenStruct.new(id: 1, name: "John Smith")
64
+
64
65
  PolicyManager::ExporterHandler.any_instance.stubs(:clear!).returns(true)
65
66
  PolicyManager::ExporterHandler.any_instance.stubs(:handle_zip_upload).returns(true)
66
67
  @config.exporter.perform(person)
@@ -46,6 +46,7 @@ describe PolicyManager::PortabilityRequest do
46
46
  User.any_instance.stubs(:enabled_for_validation).returns(false)
47
47
  User.any_instance.stubs(:foo_data).returns( (1..100).to_a)
48
48
  user = User.create(email: "a@a.cl")
49
+ FileUtils.rm_rf(Rails.root.join("tmp/export"))
49
50
  assert !user.errors.any?
50
51
  preq = user.portability_requests.create
51
52
  assert preq.pending?
@@ -61,8 +62,10 @@ describe PolicyManager::PortabilityRequest do
61
62
  names = paths.map{|o| File.basename(o) }
62
63
  arr = names - ["exportable_data", "index.html", "my_account", "my_account_from_template"]
63
64
  assert arr.empty?
65
+
64
66
  noko = Nokogiri::HTML.parse( File.open(paths.first + "/index.html").read )
65
- assert noko.css("h1").text == "layout header"
67
+
68
+ assert noko.css("h1:first").text == "layout header"
66
69
  assert noko.css("footer").text == "layout footer"
67
70
 
68
71
  expect(preq.reload).to be_completed
@@ -30,10 +30,22 @@ describe User do
30
30
  load Rails.root + 'app/models/user.rb'
31
31
  end
32
32
 
33
+ if defined?(PolicyManager::UserTerm)
34
+ PolicyManager.send(:remove_const, :'UserTerm')
35
+ load Rails.root + "../../app/models/policy_manager/user_term.rb"
36
+ end
37
+
33
38
  pr = PolicyManager::Term.create(description: "el", rule: "age")
34
39
  pr.publish!
35
40
  end
36
41
 
42
+ after(:each) do
43
+ @config = PolicyManager::Config.setup do |c|
44
+ c.user_resource = nil
45
+ c.admin_user_resource = nil
46
+ end
47
+ end
48
+
37
49
  it "dummy user creation with validation rules" do
38
50
  user = User.create(email: "a@a.cl")
39
51
  assert user.errors.any?
@@ -105,14 +117,13 @@ describe User do
105
117
  end
106
118
 
107
119
  it "can't request portability if has one in progress" do
108
- User.any_instance.stubs(:enabled_for_validation).returns(false)
120
+ User.any_instance.stubs(:enabled_for_validation).returns(false)
109
121
  user = User.create(email: "a@a.cl")
110
122
  assert !user.errors.any?
111
123
  assert user.can_request_portability?
112
124
  preq = user.portability_requests.create
113
125
  preq.confirm!
114
126
  assert !user.can_request_portability?
115
-
116
127
  end
117
128
 
118
129
  end