jinda 0.7.7.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +46 -29
  3. data/Rakefile +103 -1
  4. data/app/assets/config/manifest.js +4 -1
  5. data/app/assets/javascripts/jinda_bootstrap.js +20 -0
  6. data/app/assets/stylesheets/_jinda_bootstrap_theme.scss +190 -0
  7. data/{lib/generators/jinda/templates/app/assets/stylesheets/jinda_jqm.css.scss → app/assets/stylesheets/jinda_bootstrap.css.scss} +12 -10
  8. data/app/config/routes.rb +38 -28
  9. data/app/controllers/concerns/jinda_general_concern.rb +86 -87
  10. data/app/controllers/concerns/jinda_run_concern.rb +184 -184
  11. data/app/controllers/jinda_controller.rb +23 -22
  12. data/bin/lint_modified +21 -0
  13. data/config/routes.rb +41 -22
  14. data/lib/generators/jinda/config_generator.rb +102 -81
  15. data/lib/generators/jinda/install_generator.rb +305 -148
  16. data/lib/generators/jinda/install_generator.rb.bak2 +268 -0
  17. data/lib/generators/jinda/installer/gems_install.rb +125 -127
  18. data/lib/generators/jinda/minitest_generator.rb +19 -18
  19. data/lib/generators/jinda/rspec_generator.rb +15 -14
  20. data/lib/generators/jinda/templates/DOCKER.md +188 -0
  21. data/lib/generators/jinda/templates/Dockerfile +15 -5
  22. data/lib/generators/jinda/templates/README.md +3 -3
  23. data/lib/generators/jinda/templates/app/assets/config/manifest.js +4 -0
  24. data/lib/generators/jinda/templates/app/assets/javascripts/application.js +8 -8
  25. data/lib/generators/jinda/templates/app/channels/application_cable/channel.rb +2 -0
  26. data/lib/generators/jinda/templates/app/channels/application_cable/connection.rb +2 -0
  27. data/{test/dummy → lib/generators/jinda/templates}/app/controllers/adminltes_controller.rb +1 -0
  28. data/lib/generators/jinda/templates/app/controllers/api/v1/notes_controller.rb +80 -78
  29. data/lib/generators/jinda/templates/app/controllers/jinda_org/admins_controller.rb +4 -2
  30. data/lib/generators/jinda/templates/app/controllers/jinda_org/application_controller.rb +11 -9
  31. data/lib/generators/jinda/templates/app/controllers/jinda_org/articles_controller.rb +40 -44
  32. data/lib/generators/jinda/templates/app/controllers/jinda_org/comments_controller.rb +10 -8
  33. data/lib/generators/jinda/templates/app/controllers/jinda_org/docs_controller.rb +23 -24
  34. data/lib/generators/jinda/templates/app/controllers/jinda_org/identities_controller.rb +3 -1
  35. data/lib/generators/jinda/templates/app/controllers/jinda_org/notes_controller.rb +25 -27
  36. data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets_controller.rb +16 -18
  37. data/lib/generators/jinda/templates/app/controllers/jinda_org/sessions_controller.rb +13 -14
  38. data/lib/generators/jinda/templates/app/controllers/jinda_org/sitemap_controller.rb +4 -4
  39. data/lib/generators/jinda/templates/app/controllers/jinda_org/users_controller.rb +14 -14
  40. data/lib/generators/jinda/templates/app/controllers/mindmap_editor_controller.rb +74 -0
  41. data/lib/generators/jinda/templates/app/helpers/admins_helper.rb +2 -0
  42. data/lib/generators/jinda/templates/app/helpers/application_helper.rb +21 -20
  43. data/lib/generators/jinda/templates/app/helpers/articles_helper.rb +2 -0
  44. data/lib/generators/jinda/templates/app/helpers/basic_helper.rb +2 -0
  45. data/lib/generators/jinda/templates/app/helpers/comments_helper.rb +2 -0
  46. data/lib/generators/jinda/templates/app/helpers/ctrs_helper.rb +2 -0
  47. data/lib/generators/jinda/templates/app/helpers/devs_helper.rb +2 -0
  48. data/lib/generators/jinda/templates/app/helpers/mindmap_editor_helper.rb +3 -0
  49. data/lib/generators/jinda/templates/app/helpers/pictures_helper.rb +2 -0
  50. data/lib/generators/jinda/templates/app/helpers/sitemap_helper.rb +2 -0
  51. data/lib/generators/jinda/templates/app/helpers/users_helper.rb +2 -0
  52. data/lib/generators/jinda/templates/app/jinda/index.mm +276 -298
  53. data/lib/generators/jinda/templates/app/jinda/template/index.mm +1 -0
  54. data/lib/generators/jinda/templates/app/mailers/jinda_mailer.rb +5 -3
  55. data/lib/generators/jinda/templates/app/mailers/note_mailer.rb +6 -4
  56. data/lib/generators/jinda/templates/app/mailers/user_mailer.rb +5 -5
  57. data/lib/generators/jinda/templates/app/models/address.rb +10 -8
  58. data/lib/generators/jinda/templates/app/models/article.rb +8 -6
  59. data/lib/generators/jinda/templates/app/models/comment.rb +10 -8
  60. data/lib/generators/jinda/templates/app/models/identity.rb +11 -10
  61. data/lib/generators/jinda/templates/app/models/jinda/doc.rb +36 -33
  62. data/lib/generators/jinda/templates/app/models/jinda/jinda_module.rb +15 -0
  63. data/lib/generators/jinda/templates/app/models/jinda/module.rb +14 -10
  64. data/lib/generators/jinda/templates/app/models/jinda/notice.rb +15 -11
  65. data/lib/generators/jinda/templates/app/models/jinda/role.rb +11 -7
  66. data/lib/generators/jinda/templates/app/models/jinda/runseq.rb +23 -20
  67. data/lib/generators/jinda/templates/app/models/jinda/service.rb +19 -15
  68. data/lib/generators/jinda/templates/app/models/jinda/xmain.rb +42 -36
  69. data/lib/generators/jinda/templates/app/models/note.rb +14 -10
  70. data/lib/generators/jinda/templates/app/models/param.rb +23 -20
  71. data/lib/generators/jinda/templates/app/models/person.rb +9 -7
  72. data/lib/generators/jinda/templates/app/models/user.rb +42 -41
  73. data/lib/generators/jinda/templates/app/views/articles/show.html.haml +2 -2
  74. data/lib/generators/jinda/templates/app/views/identities/new.html.haml +13 -0
  75. data/lib/generators/jinda/templates/app/views/jinda/_static_bootstrap.haml +23 -0
  76. data/lib/generators/jinda/templates/app/views/jinda/feed.rss.builder +15 -13
  77. data/lib/generators/jinda/templates/app/views/jinda/index.html.haml +3 -2
  78. data/lib/generators/jinda/templates/app/views/layouts/application.haml +31 -4
  79. data/lib/generators/jinda/templates/app/views/layouts/lte/_header.haml +54 -0
  80. data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_sidebar.haml +1 -1
  81. data/lib/generators/jinda/templates/app/views/mindmap_editor/edit.html.haml +126 -0
  82. data/lib/generators/jinda/templates/app/views/mindmap_editor/save.html.haml +2 -0
  83. data/lib/generators/jinda/templates/app/views/sessions/new.html.haml +13 -0
  84. data/lib/generators/jinda/templates/bin/lint_modified +21 -0
  85. data/lib/generators/jinda/templates/config/mongoid.yml +3 -3
  86. data/lib/generators/jinda/templates/config/mongoid.yml-docker +3 -3
  87. data/lib/generators/jinda/templates/config/mongoid.yml-localhost +3 -3
  88. data/lib/generators/jinda/templates/docker-compose-mongodb.yml +13 -0
  89. data/lib/generators/jinda/templates/docker-compose-web.yml +36 -0
  90. data/lib/generators/jinda/templates/docker-compose.yml +10 -14
  91. data/lib/generators/jinda/templates/spec/controllers/api/v1_get_index_spec.rb +15 -14
  92. data/lib/generators/jinda/templates/spec/controllers/api/v1_get_my_spec.rb +9 -4
  93. data/lib/generators/jinda/templates/spec/controllers/api/v1_post_spec.rb +4 -3
  94. data/lib/generators/jinda/templates/spec/controllers/sessions_controller_spec.rb +82 -90
  95. data/lib/generators/jinda/templates/spec/features/userlogins_spec.rb +12 -15
  96. data/lib/generators/jinda/templates/spec/mailers/note_spec.rb +5 -8
  97. data/lib/generators/jinda/templates/spec/mailers/previews/note_preview.rb +3 -5
  98. data/lib/generators/jinda/templates/spec/models/note_spec.rb +36 -35
  99. data/lib/generators/jinda/templates/spec/models/user_spec.rb +10 -8
  100. data/lib/generators/jinda/templates/spec/rails_helper.rb +29 -31
  101. data/lib/generators/jinda/templates/spec/spec_helper.rb +19 -17
  102. data/lib/generators/jinda/templates/spec/support/authentication_helper.rb +8 -7
  103. data/lib/generators/jinda/templates/spec/support/databasecleaner.rb +3 -1
  104. data/lib/generators/jinda/templates/spec/support/factory_bot.rb +7 -5
  105. data/lib/generators/jinda/templates/spec/support/omniauth_macros.rb +14 -19
  106. data/lib/generators/jinda/templates/spec/support/request_spec_helper.rb +3 -1
  107. data/lib/generators/jinda/templates/spec/views/articles/_article.html.erb_spec.rbx +9 -8
  108. data/lib/generators/jinda/templates/test/application_system_test_case.rb +3 -1
  109. data/lib/generators/jinda/templates/test/integration/jinda_routes_test.rb +16 -21
  110. data/lib/generators/jinda/templates/test/test_helper.rb +7 -3
  111. data/lib/jinda/date_helpers.rb +50 -41
  112. data/lib/jinda/gem_helpers.rb +10 -8
  113. data/lib/jinda/gen_class.rb +14 -12
  114. data/lib/jinda/gen_controller.rb +9 -8
  115. data/lib/jinda/gen_freemind.rb +33 -32
  116. data/lib/jinda/gen_helpers.rb +146 -139
  117. data/lib/jinda/gen_models.rb +125 -131
  118. data/lib/jinda/gen_modules.rb +21 -16
  119. data/lib/jinda/gen_runseq.rb +71 -67
  120. data/lib/jinda/gen_services.rb +74 -80
  121. data/lib/jinda/gen_xmain.rb +38 -36
  122. data/lib/jinda/get_app.rb +31 -29
  123. data/lib/jinda/helpers.rb +4 -4
  124. data/lib/jinda/init_vars.rb +41 -36
  125. data/lib/jinda/mindmap_converter.rb +196 -0
  126. data/lib/jinda/railtie.rb +10 -2
  127. data/lib/jinda/rake_views.rb +61 -60
  128. data/lib/jinda/refresh.rb +67 -61
  129. data/lib/jinda/themes.rb +80 -60
  130. data/lib/jinda/version.rb +3 -1
  131. data/lib/jinda.rb +2 -0
  132. data/lib/tasks/jinda.rake +25 -22
  133. data/test/INTEGRATION_TEST_README.md +374 -0
  134. data/test/LOCAL_DEVELOPMENT.md +345 -0
  135. data/test/README.md +243 -0
  136. data/test/TEST_INFRASTRUCTURE.md +412 -0
  137. data/test/TEST_INSTALLATION_SH_FIXES.md +205 -0
  138. data/test/UNIT_TESTS_README.md +366 -0
  139. data/test/api_notes_controller_test.rb +231 -0
  140. data/test/dummy/DOCKER.md +188 -0
  141. data/test/dummy/Dockerfile +15 -7
  142. data/test/dummy/Gemfile +38 -29
  143. data/test/dummy/Gemfile.lock +671 -292
  144. data/test/dummy/app/assets/config/manifest.js +4 -0
  145. data/test/dummy/app/channels/application_cable/channel.rb +2 -0
  146. data/test/dummy/app/channels/application_cable/connection.rb +2 -0
  147. data/test/dummy/app/controllers/admins_controller.rb +4 -2
  148. data/test/dummy/app/controllers/api/v1/notes_controller.rb +80 -78
  149. data/test/dummy/app/controllers/application_controller.rb +11 -9
  150. data/test/dummy/app/controllers/articles_controller.rb +40 -44
  151. data/test/dummy/app/controllers/comments_controller.rb +10 -8
  152. data/test/dummy/app/controllers/ctrs_controller.rb +2 -0
  153. data/test/dummy/app/controllers/devs_controller.rb +2 -0
  154. data/test/dummy/app/controllers/docs_controller.rb +23 -24
  155. data/test/dummy/app/controllers/identities_controller.rb +3 -1
  156. data/test/dummy/app/controllers/mindmap_editor_controller.rb +74 -0
  157. data/test/dummy/app/controllers/notes_controller.rb +25 -27
  158. data/test/dummy/app/controllers/password_resets_controller.rb +16 -18
  159. data/test/dummy/app/controllers/sessions_controller.rb +13 -14
  160. data/test/dummy/app/controllers/sitemap_controller.rb +4 -4
  161. data/test/dummy/app/controllers/users_controller.rb +14 -14
  162. data/test/dummy/app/helpers/admins_helper.rb +2 -0
  163. data/test/dummy/app/helpers/application_helper.rb +21 -20
  164. data/test/dummy/app/helpers/articles_helper.rb +2 -0
  165. data/test/dummy/app/helpers/basic_helper.rb +2 -0
  166. data/test/dummy/app/helpers/comments_helper.rb +2 -0
  167. data/test/dummy/app/helpers/ctrs_helper.rb +2 -0
  168. data/test/dummy/app/helpers/devs_helper.rb +2 -0
  169. data/test/dummy/app/helpers/mindmap_editor_helper.rb +3 -0
  170. data/test/dummy/app/helpers/pictures_helper.rb +2 -0
  171. data/test/dummy/app/helpers/sitemap_helper.rb +2 -0
  172. data/test/dummy/app/helpers/users_helper.rb +2 -0
  173. data/test/dummy/app/jinda/index.mm +384 -486
  174. data/test/dummy/app/jinda/template/index.mm +1 -0
  175. data/test/dummy/app/mailers/application_mailer.rb +2 -2
  176. data/test/dummy/app/mailers/application_mailer.rb-org +4 -0
  177. data/test/dummy/app/mailers/jinda_mailer.rb +5 -3
  178. data/test/dummy/app/mailers/note_mailer.rb +6 -4
  179. data/test/dummy/app/mailers/user_mailer.rb +5 -5
  180. data/test/dummy/app/models/address.rb +2 -0
  181. data/test/dummy/app/models/article.rb +2 -0
  182. data/test/dummy/app/models/comment.rb +3 -2
  183. data/test/dummy/app/models/identity.rb +11 -10
  184. data/test/dummy/app/models/jinda/doc.rb +36 -33
  185. data/test/dummy/app/models/jinda/jinda_module.rb +15 -0
  186. data/test/dummy/app/models/jinda/module.rb +14 -10
  187. data/test/dummy/app/models/jinda/notice.rb +15 -11
  188. data/test/dummy/app/models/jinda/role.rb +11 -7
  189. data/test/dummy/app/models/jinda/runseq.rb +23 -20
  190. data/test/dummy/app/models/jinda/service.rb +19 -15
  191. data/test/dummy/app/models/jinda/xmain.rb +42 -36
  192. data/test/dummy/app/models/note.rb +3 -8
  193. data/test/dummy/app/models/param.rb +23 -20
  194. data/test/dummy/app/models/person.rb +2 -0
  195. data/test/dummy/app/models/picture.rb +11 -0
  196. data/test/dummy/app/models/user.rb +42 -41
  197. data/test/dummy/app/views/admins/index.haml +21 -0
  198. data/test/dummy/app/views/api/v1/notes/delete/select_note.html.erb +21 -0
  199. data/test/dummy/app/views/api/v1/notes/edit/edit_note.html.erb +21 -0
  200. data/test/dummy/app/views/api/v1/notes/index.haml +21 -0
  201. data/test/dummy/app/views/api/v1/notes/new/new_note.html.erb +21 -0
  202. data/test/dummy/app/views/articles/show.html.haml +2 -2
  203. data/test/dummy/app/views/devs/index.haml +21 -0
  204. data/test/dummy/app/views/jinda/feed.rss.builder +15 -13
  205. data/test/dummy/app/views/jinda/index.html.haml +3 -2
  206. data/test/dummy/app/views/layouts/application.haml +2 -2
  207. data/test/dummy/app/views/mindmap_editor/edit.html.haml +126 -0
  208. data/test/dummy/app/views/mindmap_editor/save.html.haml +2 -0
  209. data/test/dummy/bin/docker-entrypoint +3 -0
  210. data/test/dummy/bin/lint_modified +21 -0
  211. data/test/dummy/bin/setup +1 -1
  212. data/test/dummy/config/application.rb +7 -2
  213. data/test/dummy/config/boot.rb +2 -1
  214. data/test/dummy/config/cable.yml +1 -1
  215. data/test/dummy/config/credentials.yml.enc +1 -1
  216. data/test/dummy/config/environments/development.rb +7 -1
  217. data/test/dummy/config/environments/production.rb +30 -26
  218. data/test/dummy/config/environments/test.rb +12 -8
  219. data/test/dummy/config/initializers/content_security_policy.rb +2 -2
  220. data/test/dummy/config/initializers/filter_parameter_logging.rb +3 -3
  221. data/test/dummy/config/initializers/mindmap_converter.rb +5 -0
  222. data/test/dummy/config/initializers/mongoid.rb +24 -9
  223. data/test/dummy/config/initializers/omniauth.rb +5 -0
  224. data/test/dummy/config/initializers/permissions_policy.rb +11 -9
  225. data/test/dummy/config/locales/en.yml +11 -13
  226. data/test/dummy/config/mongoid.yml +172 -53
  227. data/test/dummy/config/mongoid.yml-docker +3 -3
  228. data/test/dummy/config/mongoid.yml-localhost +3 -3
  229. data/test/dummy/config/puma.rb +21 -20
  230. data/test/dummy/config/routes.rb +7 -1
  231. data/test/dummy/docker-compose-mongodb.yml +13 -0
  232. data/test/dummy/docker-compose-web.yml +36 -0
  233. data/test/dummy/docker-compose.yml +10 -18
  234. data/test/dummy/log/development.log +5834 -2261
  235. data/test/dummy/spec/controllers/api/v1_get_index_spec.rb +15 -14
  236. data/test/dummy/spec/controllers/api/v1_get_my_spec.rb +9 -4
  237. data/test/dummy/spec/controllers/api/v1_post_spec.rb +4 -3
  238. data/test/dummy/spec/controllers/sessions_controller_spec.rb +82 -90
  239. data/test/dummy/spec/factories/pictures.rb +5 -0
  240. data/test/dummy/spec/features/userlogins_spec.rb +12 -15
  241. data/test/dummy/spec/mailers/note_spec.rb +5 -8
  242. data/test/dummy/spec/mailers/previews/note_preview.rb +3 -5
  243. data/test/dummy/spec/models/note_spec.rb +36 -35
  244. data/test/dummy/spec/models/picture_spec.rb +5 -0
  245. data/test/dummy/spec/models/user_spec.rb +10 -8
  246. data/test/dummy/spec/rails_helper.rb +29 -31
  247. data/test/dummy/spec/requests/ctrs_spec.rb +7 -0
  248. data/test/dummy/spec/requests/devs_spec.rb +7 -0
  249. data/test/dummy/spec/spec_helper.rb +19 -17
  250. data/test/dummy/spec/support/authentication_helper.rb +8 -7
  251. data/test/dummy/spec/support/databasecleaner.rb +3 -1
  252. data/test/dummy/spec/support/factory_bot.rb +7 -5
  253. data/test/dummy/spec/support/omniauth_macros.rb +14 -19
  254. data/test/dummy/spec/support/request_spec_helper.rb +3 -1
  255. data/test/dummy/spec/views/articles/_article.html.erb_spec.rbx +9 -8
  256. data/test/generated_app_test.rb +261 -0
  257. data/test/installation_test.rb +368 -0
  258. data/test/integration_test.rb +398 -0
  259. data/test/jenkins_stage_test.rb +182 -0
  260. data/test/note_model_test.rb +224 -0
  261. data/test/note_validation_integration_test.rb +292 -0
  262. data/test/run_unit_tests.sh +91 -0
  263. data/test/test_helper.rb +8 -16
  264. metadata +188 -60
  265. data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.scss +0 -15
  266. data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets.rb +0 -28
  267. data/lib/generators/jinda/templates/app/views/layouts/_head.html.erb +0 -10
  268. data/lib/generators/jinda/templates/app/views/layouts/_meta_tag.html.erb +0 -19
  269. data/lib/generators/jinda/templates/app/views/layouts/bsb/_footer.haml +0 -7
  270. data/lib/generators/jinda/templates/app/views/layouts/bsb/_header.haml +0 -147
  271. data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu.haml +0 -47
  272. data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu_mm.haml +0 -34
  273. data/lib/generators/jinda/templates/app/views/layouts/bsb/_sidebar.haml +0 -155
  274. data/lib/generators/jinda/templates/app/views/layouts/bsb/application.haml-bsb +0 -47
  275. data/lib/generators/jinda/templates/app/views/layouts/gmail.html.erb +0 -9
  276. data/lib/generators/jinda/templates/app/views/layouts/jqm/_full.haml +0 -33
  277. data/lib/generators/jinda/templates/app/views/layouts/jqm/_page.haml +0 -16
  278. data/lib/generators/jinda/templates/app/views/layouts/jqm/application.haml-jqm +0 -4
  279. data/lib/generators/jinda/templates/app/views/layouts/mailer.html.erb +0 -13
  280. data/lib/generators/jinda/templates/app/views/layouts/mailer.html.haml +0 -3
  281. data/lib/generators/jinda/templates/app/views/layouts/mailer.text.erb +0 -1
  282. data/lib/generators/jinda/templates/app/views/layouts/mailer.text.haml +0 -1
  283. data/lib/generators/jinda/templates/app/views/layouts/mobile.html.erb +0 -13
  284. data/lib/generators/jinda/templates/app/views/layouts/mobilejq.html.erb +0 -31
  285. data/lib/generators/jinda/templates/app/views/layouts/print.html.erb +0 -22
  286. data/lib/generators/jinda/templates/app/views/layouts/utf8.html.erb +0 -22
  287. data/lib/generators/jinda/templates/config/initializers/fix_mongoid_generator.rb-org +0 -14
  288. data/test/dummy/Guardfile +0 -96
  289. data/test/dummy/app/controllers/application_controller.rb.bak +0 -2
  290. data/test/dummy/app/controllers/password_resets.rb +0 -28
  291. data/test/dummy/app/helpers/application_helper.rb.bak +0 -2
  292. data/test/dummy/app/views/identities/new-bak.html.haml +0 -32
  293. data/test/dummy/app/views/layouts/application.haml.bak +0 -4
  294. data/test/dummy/app/views/layouts/application.html.erb.bak +0 -15
  295. data/test/dummy/app/views/layouts/lte/_header.haml +0 -111
  296. data/test/dummy/app/views/layouts/lte/_rightbar.haml +0 -123
  297. data/test/dummy/app/views/sessions/new-bak.html.haml +0 -22
  298. data/test/dummy/config/initializers/fix_mongoid_generator.rb-org +0 -14
  299. data/test/dummy/tmp/development_secret.txt +0 -1
  300. data/test/integration/navigation_test.rb +0 -7
  301. data/test/jinda_test.rb +0 -7
  302. /data/{test/dummy → lib/generators/jinda/templates}/app/assets/stylesheets/application.scss +0 -0
  303. /data/{test/dummy → lib/generators/jinda/templates}/app/assets/stylesheets/jinda.scss +0 -0
  304. /data/lib/generators/jinda/templates/app/mailers/{application_mailer.rb → application_mailer.rb-org} +0 -0
  305. /data/{test/dummy → lib/generators/jinda/templates}/app/views/adminltes/dashboard1.haml +0 -0
  306. /data/{test/dummy → lib/generators/jinda/templates}/app/views/adminltes/dashboard2.haml +0 -0
  307. /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_flash.haml +0 -0
  308. /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_footer.haml +0 -0
  309. /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_menu.haml +0 -0
  310. /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_menu_mm.haml +0 -0
  311. /data/lib/generators/jinda/templates/app/views/layouts/{bsb → lte}/_rightbar.haml +0 -0
@@ -1,23 +1,24 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_helper'
2
4
  # describe Api::V1::NotesController, '#index', type: :request do
3
5
  RSpec.describe 'Notes API', type: :request do
4
- # let(:notes) { create_list(:note,1)}
6
+ # let(:notes) { create_list(:note,1)}
5
7
  # let!(:notes) {Note.create(title: "dddd", body: "body")}
6
- let!(:note) {FactoryBot.create_list(:note, 9)}
7
- let(:note_id) { notes.first.id }
8
+ let!(:admin_user) { User.create(code: 'admin', email: 'admin@example.com', role: 'Admin') }
9
+ let!(:note) { FactoryBot.create_list(:note, 9, user: admin_user) }
10
+ let(:note_id) { notes.first.id }
11
+
12
+ describe 'GET /api/v1/notes' do
13
+ before { get api_v1_notes_path }
8
14
 
9
- describe 'GET /api/v1/notes' do
10
- before { get api_v1_notes_path }
11
-
12
- it 'returns notes size as expected' do
13
- expect(json).not_to be_empty
14
- expect(json.size).to eq(9)
15
- end
15
+ it 'returns notes size as expected' do
16
+ expect(json).not_to be_empty
17
+ expect(json.size).to eq(9)
18
+ end
16
19
 
17
20
  it 'returns status code 200' do
18
21
  expect(response).to have_http_status(:success)
19
- end
20
-
21
- end
22
+ end
23
+ end
22
24
  end
23
-
@@ -1,14 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_helper'
2
4
 
3
5
  RSpec.describe 'Notes API', type: :request do
4
- let!(:note) {FactoryBot.create_list(:note, 9)}
5
- before {get api_v1_notes_my_path}
6
+ let!(:admin_user) { User.create(code: 'admin', email: 'admin@example.com', role: 'Admin') }
7
+ let!(:note) { FactoryBot.create_list(:note, 9, user: admin_user) }
8
+ before do
9
+ allow_any_instance_of(Api::V1::NotesController).to receive(:current_ma_user).and_return(admin_user)
10
+ get api_v1_notes_my_path
11
+ end
6
12
 
7
13
  it 'returns all notes' do
8
- expect(json.size).to eq(9)
14
+ expect(json.size).to eq(9)
9
15
  end
10
16
  it 'returns status code 200' do
11
17
  expect(response).to have_http_status(:success)
12
18
  end
13
19
  end
14
-
@@ -1,9 +1,10 @@
1
- require 'rails_helper'
2
- describe Api::V1::NotesController , type: :controller do
1
+ # frozen_string_literal: true
3
2
 
3
+ require 'rails_helper'
4
+ describe Api::V1::NotesController, type: :controller do
4
5
  before do
5
6
  create_and_sign_in_user
6
- post :create , params: { :body => 'test_body', :title => 'test_title', :user => User.first}
7
+ post :create, params: { body: 'test_body', title: 'test_title', user: User.first }
7
8
  end
8
9
 
9
10
  it 'returns the title' do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # sessions_controller_spec.rb
2
4
  # 1. Set up the mock
3
5
  # 2. Make the request
@@ -5,94 +7,84 @@
5
7
  # require 'spec_helper'
6
8
  require 'rails_helper'
7
9
  describe SessionsController, type: :controller do
8
-
9
- describe "Google" do
10
-
11
- before do
12
-
13
- @request.env['omniauth.auth'] = OmniAuth.config.mock_auth[:google_oauth2]
14
- visit '/auth/google_oauth2'
15
- end
16
-
17
- describe "#create" do
18
-
19
- it "should successfully create a session" do
20
- session[:user_id].should be_nil
21
- post :create, params: {provider: :google_oauth2}
22
- session[:user_id].should_not be_nil
23
- end
24
-
25
- it "should redirect the user to root_path " do
26
- post :create, params: {provider: :google_oauth2}
27
- response.should redirect_to root_path
28
- end
29
-
30
- end
31
-
32
- #describe "#destroy", js: true do
33
- describe "#destroy" do
34
- before do
35
- post :create, params: {provider: :google_oauth2}
36
- end
37
-
38
- it "should clear the session" do
39
- session[:user_id].should_not be_nil
40
- delete :destroy
41
- session[:user_id].should be_nil
42
- end
43
-
44
- it "should redirect to the home page" do
45
- delete :destroy
46
- # response.should redirect_to root_url
47
- # https://stackoverflow.com/questions/5144758/how-to-test-a-javascript-redirect-with-rspec
48
- response.body.should include("window.location")
49
- end
50
- end
51
- end
52
-
53
- skip describe "Facebook" do
54
- # skip or finish at config facebook
55
-
56
- before do
57
- @request.env['omniauth.auth'] = OmniAuth.config.mock_auth[:facebook]
58
- visit '/auth/facebook'
59
- end
60
-
61
- describe "#create" do
62
-
63
- it "should successfully create a session" do
64
- session[:user_id].should be_nil
65
- post :create, params: {provider: :facebook}
66
- session[:user_id].should_not be_nil
67
- end
68
-
69
- it "should redirect the user to the articles/my url" do
70
- post :create, params: {provider: :facebook}
71
- response.should redirect_to articles_my_path
72
- end
73
-
74
- end
75
-
76
- describe "#destroy" do
77
- before do
78
- post :create, params: {provider: :facebook}
79
- end
80
-
81
- it "should clear the session" do
82
- session[:user_id].should_not be_nil
83
- delete :destroy
84
- session[:user_id].should be_nil
85
- end
86
-
87
- it "should redirect to the home page" do
88
- delete :destroy
89
- # response.should redirect_to root_url
90
- # https://stackoverflow.com/questions/5144758/how-to-test-a-javascript-redirect-with-rspec
91
- response.body.should include("window.location")
92
- end
93
- end
94
- end
95
-
10
+ describe 'Google' do
11
+ before do
12
+ @request.env['omniauth.auth'] = OmniAuth.config.mock_auth[:google_oauth2]
13
+ visit '/auth/google_oauth2'
14
+ end
15
+
16
+ describe '#create' do
17
+ it 'should successfully create a session' do
18
+ session[:user_id].should be_nil
19
+ post :create, params: { provider: :google_oauth2 }
20
+ session[:user_id].should_not be_nil
21
+ end
22
+
23
+ it 'should redirect the user to root_path ' do
24
+ post :create, params: { provider: :google_oauth2 }
25
+ response.should redirect_to root_path
26
+ end
27
+ end
28
+
29
+ # describe "#destroy", js: true do
30
+ describe '#destroy' do
31
+ before do
32
+ post :create, params: { provider: :google_oauth2 }
33
+ end
34
+
35
+ it 'should clear the session' do
36
+ session[:user_id].should_not be_nil
37
+ delete :destroy
38
+ session[:user_id].should be_nil
39
+ end
40
+
41
+ it 'should redirect to the home page' do
42
+ delete :destroy
43
+ # response.should redirect_to root_url
44
+ # https://stackoverflow.com/questions/5144758/how-to-test-a-javascript-redirect-with-rspec
45
+ response.body.should include('window.location')
46
+ end
47
+ end
48
+ end
49
+
50
+ skip describe 'Facebook' do
51
+ # skip or finish at config facebook
52
+
53
+ before do
54
+ @request.env['omniauth.auth'] = OmniAuth.config.mock_auth[:facebook]
55
+ visit '/auth/facebook'
56
+ end
57
+
58
+ describe '#create' do
59
+ it 'should successfully create a session' do
60
+ session[:user_id].should be_nil
61
+ post :create, params: { provider: :facebook }
62
+ session[:user_id].should_not be_nil
63
+ end
64
+
65
+ it 'should redirect the user to the articles/my url' do
66
+ post :create, params: { provider: :facebook }
67
+ response.should redirect_to articles_my_path
68
+ end
69
+ end
70
+
71
+ describe '#destroy' do
72
+ before do
73
+ post :create, params: { provider: :facebook }
74
+ end
75
+
76
+ it 'should clear the session' do
77
+ session[:user_id].should_not be_nil
78
+ delete :destroy
79
+ session[:user_id].should be_nil
80
+ end
81
+
82
+ it 'should redirect to the home page' do
83
+ delete :destroy
84
+ # response.should redirect_to root_url
85
+ # https://stackoverflow.com/questions/5144758/how-to-test-a-javascript-redirect-with-rspec
86
+ response.body.should include('window.location')
87
+ end
88
+ end
89
+ end
96
90
  end
97
-
98
-
@@ -0,0 +1,5 @@
1
+ FactoryBot.define do
2
+ factory :picture do
3
+
4
+ end
5
+ end
@@ -1,23 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_helper'
2
4
 
3
- RSpec.feature "Userlogins", type: :feature do
4
- scenario "Admin User Sign In" do
5
- skip visit "/sessions/new"
5
+ RSpec.feature 'Userlogins', type: :feature do
6
+ scenario 'Admin User Sign In' do
7
+ skip visit '/sessions/new'
6
8
 
7
- fill_in "User name", :with => "admin"
8
- fill_in "Password", :with => "secret1"
9
- click_button "Sign In"
9
+ fill_in 'User name', with: 'admin'
10
+ fill_in 'Password', with: 'secret1'
11
+ click_button 'Sign In'
10
12
 
11
- xexpect(page).to have_text("My Articles")
13
+ xexpect(page).to have_text('My Articles')
12
14
  end
13
15
 
14
- scenario "Google User Sign In" do
15
- visit "/auth/google_oauth2"
16
- expect(page).to have_text("My Articles")
16
+ scenario 'Google User Sign In' do
17
+ visit '/auth/google_oauth2'
18
+ expect(page).to have_text('Sign Out')
17
19
  end
18
-
19
-
20
-
21
-
22
-
23
20
  end
@@ -1,12 +1,10 @@
1
- require 'rails_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- RSpec.describe NoteMailer do
4
-
3
+ require 'rails_helper'
5
4
 
5
+ RSpec.describe NoteMailer do
6
6
  describe 'gmail' do
7
-
8
- let(:mail) {NoteMailer.gmail("Test Body", "receiver@email.com", "Test title", "from@example.com")}
9
-
7
+ let(:mail) { NoteMailer.gmail('Test Body', 'receiver@email.com', 'Test title', 'from@example.com') }
10
8
 
11
9
  it 'renders the subject' do
12
10
  expect(mail.subject).to eql('Test title')
@@ -19,6 +17,5 @@ RSpec.describe NoteMailer do
19
17
  it 'renders the sender email' do
20
18
  expect(mail.from).to eql(['from@example.com'])
21
19
  end
22
- end
23
-
20
+ end
24
21
  end
@@ -1,9 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Preview all emails at http://localhost:3000/rails/mailers/note
2
4
  class NotePreview < ActionMailer::Preview
3
-
4
5
  # Preview this email at http://localhost:3000/rails/mailers/note/gmail
5
- def gmail
6
- NoteMailer.gmail
7
- end
8
-
6
+ delegate :gmail, to: :NoteMailer
9
7
  end
@@ -1,41 +1,42 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_helper'
2
4
 
3
5
  RSpec.describe Note, type: :model do
4
- describe "Required only title (Maximum 30)" do
5
-
6
- it "valid with both title and body" do
7
- before_count = Note.count
8
- Note.create(title: "dddd", body: "body")
9
- expect(Note.count).not_to eq(before_count)
10
- end
11
-
12
- it "valid with only title" do
13
- before_count = Note.count
14
- Note.create(title: "Title")
15
- expect(Note.count).not_to eq(before_count)
16
- end
17
-
18
- it "invalid with only body" do
19
- before_count = Note.count
20
- Note.new(body: "body")
21
- expect(Note.count).to eq(before_count)
22
- end
23
-
24
- it "invalid body length more than 1000" do
25
- before_count = Note.count
26
- title_max = "x"*30
27
- body_max = "y"*1001
28
- Note.create(title: title_max, body: body_max)
29
- expect(Note.count).to eq(before_count)
30
- end
6
+ let!(:admin_user) { User.create(code: 'admin', email: 'admin@example.com', role: 'Admin') }
7
+
8
+ describe 'Required only title (Maximum 30)' do
9
+ it 'valid with both title and body' do
10
+ before_count = Note.count
11
+ Note.create(title: 'dddd', body: 'body', user: admin_user)
12
+ expect(Note.count).not_to eq(before_count)
13
+ end
14
+
15
+ it 'valid with only title' do
16
+ before_count = Note.count
17
+ Note.create(title: 'Title', user: admin_user)
18
+ expect(Note.count).not_to eq(before_count)
19
+ end
20
+
21
+ it 'invalid with only body' do
22
+ before_count = Note.count
23
+ Note.new(body: 'body', user: admin_user)
24
+ expect(Note.count).to eq(before_count)
25
+ end
26
+
27
+ it 'invalid body length more than 1000' do
28
+ before_count = Note.count
29
+ title_max = 'x' * 30
30
+ body_max = 'y' * 1001
31
+ Note.create(title: title_max, body: body_max, user: admin_user)
32
+ expect(Note.count).to eq(before_count)
33
+ end
31
34
  end
32
35
 
33
- describe "title data blank" do
34
- it "auto fill from body" do
35
- note = Note.create(:title => "", :body => "Body content")
36
- note.title.should == "Body content"
37
- end
38
- end
39
-
36
+ describe 'title data blank' do
37
+ it 'auto fill from body' do
38
+ note = Note.create(title: '', body: 'Body content', user: admin_user)
39
+ note.title.should == 'Body content'
40
+ end
41
+ end
40
42
  end
41
-
@@ -0,0 +1,5 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe Picture, type: :model do
4
+ pending "add some examples to (or delete) #{__FILE__}"
5
+ end
@@ -1,12 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_helper'
2
4
 
3
- RSpec.describe "User", :type => :model do
4
- it "prevents duplicates " do
5
- user1 = create(:user, code: 'abc', email: 'test@email.com')
6
- user2 = build(:user, code: 'abc', email: 'test@email.com')
5
+ RSpec.describe 'User', type: :model do
6
+ it 'prevents duplicates ' do
7
+ user1 = create(:user, code: 'abc', email: 'test@email.com')
8
+ user2 = build(:user, code: 'abc', email: 'test@email.com')
7
9
 
8
- user1.should be_valid
9
- #user2.should be_valid
10
- user2.should_not have_valid(:code)
11
- end
10
+ user1.should be_valid
11
+ # user2.should be_valid
12
+ user2.should_not have_valid(:code)
13
+ end
12
14
  end
@@ -1,42 +1,40 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # This file is copied to spec/ when you run 'rails generate rspec:install'
2
4
  ENV['RAILS_ENV'] ||= 'test'
3
- require File.expand_path('../../config/environment', __FILE__)
4
- Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } # Add this at top of file
5
+ require File.expand_path('../config/environment', __dir__)
6
+ Rails.root.glob('spec/support/**/*.rb').each { |f| require f } # Add this at top of file
5
7
  # Prevent database truncation if the environment is production
6
- abort("The Rails environment is running in production mode!") if Rails.env.production?
8
+ abort('The Rails environment is running in production mode!') if Rails.env.production?
7
9
  require 'rspec/rails'
8
10
  require 'spec_helper'
9
11
 
10
12
  RSpec.configure do |config|
11
-
12
13
  # Add create_and_sign_in_user
13
14
  config.include AuthenticationHelper, type: :controller
14
15
 
15
- # To include RequestSpecHelper
16
- config.include RequestSpecHelper, type: :request
17
-
18
- # config.infer_spec_type_from_file_location!
19
-
20
- # Filter lines from Rails gems in backtraces.
21
- config.filter_rails_from_backtrace!
22
- # arbitrary gems may also be filtered via:
23
- # config.filter_gems_from_backtrace("gem name")
24
-
25
-
26
-
27
- # Added to make factorybot work
28
- # FactoryBot.allow_class_lookup = false
29
- config.use_transactional_fixtures = false
30
- config.include FactoryBot::Syntax::Methods
31
- config.before do
32
- FactoryBot.find_definitions
33
- end
34
- # configure shoulda matchers to use rspec as the test framework and full matcher libraries for rails
35
- Shoulda::Matchers.configure do |config|
36
- config.integrate do |with|
37
- with.test_framework :rspec
38
- with.library :rails
39
- end
40
- end
41
-
16
+ # To include RequestSpecHelper
17
+ config.include RequestSpecHelper, type: :request
18
+
19
+ # config.infer_spec_type_from_file_location!
20
+
21
+ # Filter lines from Rails gems in backtraces.
22
+ config.filter_rails_from_backtrace!
23
+ # arbitrary gems may also be filtered via:
24
+ # config.filter_gems_from_backtrace("gem name")
25
+
26
+ # Added to make factorybot work
27
+ # FactoryBot.allow_class_lookup = false
28
+ config.use_transactional_fixtures = false
29
+ config.include FactoryBot::Syntax::Methods
30
+ config.before do
31
+ FactoryBot.find_definitions
32
+ end
33
+ # configure shoulda matchers to use rspec as the test framework and full matcher libraries for rails
34
+ Shoulda::Matchers.configure do |config|
35
+ config.integrate do |with|
36
+ with.test_framework :rspec
37
+ with.library :rails
38
+ end
39
+ end
42
40
  end
@@ -0,0 +1,7 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe "Ctrs", type: :request do
4
+ describe "GET /index" do
5
+ pending "add some examples (or delete) #{__FILE__}"
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe "Devs", type: :request do
4
+ describe "GET /index" do
5
+ pending "add some examples (or delete) #{__FILE__}"
6
+ end
7
+ end
@@ -1,36 +1,38 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # https://www.natashatherobot.com/rails-test-omniauth-sessions-controller/
2
4
  # spec_helper.rb
3
5
  require 'rubygems'
4
- require 'capybara/rspec'
5
- # Set up the mock
6
+ require 'capybara/rspec'
7
+ # Set up the mock
6
8
  require 'support/omniauth_macros'
7
9
  require 'valid_attribute'
8
10
 
9
11
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
10
12
  RSpec.configure do |config|
11
- config.filter_run focus: true
13
+ config.filter_run focus: true
12
14
  config.run_all_when_everything_filtered = true
13
15
 
14
16
  # config.include SpecTestHelper, :type => :controller
15
17
  config.expect_with :rspec do |expectations|
16
18
  expectations.include_chain_clauses_in_custom_matcher_descriptions = true
17
- expectations.syntax = [:expect, :should]
19
+ expectations.syntax = %i[expect should]
18
20
  end
19
21
  config.mock_with :rspec do |mocks|
20
22
  mocks.verify_partial_doubles = true
21
23
  end
22
24
  config.shared_context_metadata_behavior = :apply_to_host_groups
23
25
 
24
- # https://github.com/DatabaseCleaner/database_cleaner #
25
- # config.use_transactional_fixtures = false
26
- # https://stackoverflow.com/questions/15148585/undefined-method-visit-when-using-rspec-and-capybara-in-rails
27
- config.include Capybara::DSL
26
+ # https://github.com/DatabaseCleaner/database_cleaner #
27
+ # config.use_transactional_fixtures = false
28
+ # https://stackoverflow.com/questions/15148585/undefined-method-visit-when-using-rspec-and-capybara-in-rails
29
+ config.include Capybara::DSL
28
30
 
29
- # https://stackoverflow.com/questions/21445164/set-chrome-as-default-browser-for-rspec-capybara/30551595
30
- Capybara.register_driver :chrome do |app|
31
- Capybara::Selenium::Driver.new(app, :browser => :chrome)
32
- end
33
- Capybara.javascript_driver = :chrome
31
+ # https://stackoverflow.com/questions/21445164/set-chrome-as-default-browser-for-rspec-capybara/30551595
32
+ Capybara.register_driver :chrome do |app|
33
+ Capybara::Selenium::Driver.new(app, browser: :chrome)
34
+ end
35
+ Capybara.javascript_driver = :chrome
34
36
 
35
37
  config.before(:suite) do
36
38
  if config.use_transactional_fixtures?
@@ -45,11 +47,12 @@ RSpec.configure do |config|
45
47
  uncommitted transaction data setup over the spec's database connection.
46
48
  MSG
47
49
  end
50
+
48
51
  DatabaseCleaner.clean_with(:deletion)
49
52
  end
50
53
 
51
- config.before(:each, :js => true) do
52
- #DatabaseCleaner.strategy = :transaction
54
+ config.before(:each, js: true) do
55
+ # DatabaseCleaner.strategy = :transaction
53
56
  DatabaseCleaner.strategy = :deletion
54
57
  end
55
58
 
@@ -75,6 +78,5 @@ RSpec.configure do |config|
75
78
  config.append_after(:each) do
76
79
  DatabaseCleaner.clean
77
80
  end
78
- # https://github.com/DatabaseCleaner/database_cleaner #
79
-
81
+ # https://github.com/DatabaseCleaner/database_cleaner #
80
82
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module AuthenticationHelper
2
4
  # controller return 1. Session 2. Cookies ==> user.id
3
5
  def sign_in(user)
@@ -8,13 +10,12 @@ module AuthenticationHelper
8
10
  def create_and_sign_in_user
9
11
  user = FactoryBot.create(:user)
10
12
  sign_in(user)
11
- return user
12
- end
13
- # from Jinda::Helpers
14
- def current_ma_user
15
- @user ||= User.where(:auth_token => user.auth_token)
16
- return @user
13
+ user
17
14
  end
18
15
 
16
+ # from Jinda::Helpers
17
+ def current_ma_user
18
+ @user ||= User.where(auth_token: user.auth_token)
19
+ @user
20
+ end
19
21
  end
20
-
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  RSpec.configure do |config|
2
- config.before(:suite) do
4
+ config.before(:suite) do
3
5
  DatabaseCleaner[:mongoid].strategy = :deletion
4
6
  end
5
7