model_base_generators 0.3.9 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (455) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.travis.yml +8 -2
  4. data/Gemfile +1 -1
  5. data/Gemfiles/rails-5.0 +25 -0
  6. data/Gemfiles/rails-5.1 +25 -0
  7. data/README.md +2 -2
  8. data/Rakefile +10 -1
  9. data/{example → examples/rails-5.0}/.gitignore +1 -1
  10. data/{example → examples/rails-5.0}/.model_base/controllers +0 -0
  11. data/{example → examples/rails-5.0}/.rspec +0 -0
  12. data/{example → examples/rails-5.0}/.rubocop.yml +0 -0
  13. data/{example → examples/rails-5.0}/Gemfile +5 -4
  14. data/{example → examples/rails-5.0}/Gemfile.lock +87 -77
  15. data/{example → examples/rails-5.0}/Rakefile +0 -0
  16. data/{example → examples/rails-5.0}/app/assets/config/manifest.js +0 -0
  17. data/{example → examples/rails-5.0}/app/assets/images/.keep +0 -0
  18. data/{example → examples/rails-5.0}/app/assets/javascripts/application.js +0 -0
  19. data/{example → examples/rails-5.0}/app/assets/javascripts/cable.js +0 -0
  20. data/{example → examples/rails-5.0}/app/assets/javascripts/channels/.keep +0 -0
  21. data/{example → examples/rails-5.0}/app/assets/stylesheets/application.css +0 -0
  22. data/{example → examples/rails-5.0}/app/channels/application_cable/channel.rb +0 -0
  23. data/{example → examples/rails-5.0}/app/channels/application_cable/connection.rb +0 -0
  24. data/{example → examples/rails-5.0}/app/controllers/application_controller.rb +0 -0
  25. data/{example → examples/rails-5.0}/app/controllers/attached_files_controller.rb +0 -0
  26. data/{example → examples/rails-5.0}/app/controllers/concerns/.keep +0 -0
  27. data/{example → examples/rails-5.0}/app/controllers/concerns/authentication.rb +0 -0
  28. data/{example → examples/rails-5.0}/app/controllers/issue_comments_controller.rb +0 -0
  29. data/{example → examples/rails-5.0}/app/controllers/issues_controller.rb +0 -0
  30. data/{example → examples/rails-5.0}/app/controllers/phases_controller.rb +0 -0
  31. data/{example → examples/rails-5.0}/app/controllers/project_assignments_controller.rb +0 -0
  32. data/{example → examples/rails-5.0}/app/controllers/projects_controller.rb +0 -0
  33. data/{example → examples/rails-5.0}/app/helpers/application_helper.rb +0 -0
  34. data/{example → examples/rails-5.0}/app/helpers/attached_files_helper.rb +0 -0
  35. data/{example → examples/rails-5.0}/app/helpers/issue_comments_helper.rb +0 -0
  36. data/{example → examples/rails-5.0}/app/helpers/issues_helper.rb +0 -0
  37. data/{example → examples/rails-5.0}/app/helpers/phases_helper.rb +0 -0
  38. data/{example → examples/rails-5.0}/app/helpers/project_assignments_helper.rb +0 -0
  39. data/{example → examples/rails-5.0}/app/helpers/projects_helper.rb +0 -0
  40. data/{example → examples/rails-5.0}/app/jobs/application_job.rb +0 -0
  41. data/{example → examples/rails-5.0}/app/mailers/application_mailer.rb +0 -0
  42. data/{example → examples/rails-5.0}/app/models/ability.rb +0 -0
  43. data/{example → examples/rails-5.0}/app/models/application_record.rb +0 -0
  44. data/{example → examples/rails-5.0}/app/models/attached_file.rb +0 -0
  45. data/{example → examples/rails-5.0}/app/models/concerns/.keep +0 -0
  46. data/{example → examples/rails-5.0}/app/models/issue.rb +1 -1
  47. data/{example → examples/rails-5.0}/app/models/issue_comment.rb +0 -0
  48. data/{example → examples/rails-5.0}/app/models/phase.rb +0 -0
  49. data/{example → examples/rails-5.0}/app/models/project.rb +0 -0
  50. data/{example → examples/rails-5.0}/app/models/project_assignment.rb +0 -0
  51. data/{example → examples/rails-5.0}/app/models/user.rb +0 -0
  52. data/{example → examples/rails-5.0}/app/validations/ar_internal_metadatum_validation.rb +0 -0
  53. data/{example → examples/rails-5.0}/app/validations/attached_file_validation.rb +0 -0
  54. data/{example → examples/rails-5.0}/app/validations/issue_comment_validation.rb +0 -0
  55. data/{example → examples/rails-5.0}/app/validations/issue_validation.rb +0 -0
  56. data/{example → examples/rails-5.0}/app/validations/phase_validation.rb +0 -0
  57. data/{example → examples/rails-5.0}/app/validations/project_assignment_validation.rb +0 -0
  58. data/{example → examples/rails-5.0}/app/validations/project_validation.rb +0 -0
  59. data/{example → examples/rails-5.0}/app/validations/user_validation.rb +0 -0
  60. data/{example → examples/rails-5.0}/app/views/attached_files/_attached_file.json.jbuilder +0 -0
  61. data/{example → examples/rails-5.0}/app/views/attached_files/_form.html.erb +0 -0
  62. data/{example → examples/rails-5.0}/app/views/attached_files/_table.html.erb +0 -0
  63. data/{example → examples/rails-5.0}/app/views/attached_files/edit.html.erb +0 -0
  64. data/{example → examples/rails-5.0}/app/views/attached_files/index.html.erb +0 -0
  65. data/{example → examples/rails-5.0}/app/views/attached_files/index.json.jbuilder +0 -0
  66. data/{example → examples/rails-5.0}/app/views/attached_files/new.html.erb +0 -0
  67. data/{example → examples/rails-5.0}/app/views/attached_files/show.html.erb +0 -0
  68. data/{example → examples/rails-5.0}/app/views/attached_files/show.json.jbuilder +0 -0
  69. data/{example → examples/rails-5.0}/app/views/issue_comments/_form.html.erb +0 -0
  70. data/examples/rails-5.0/app/views/issue_comments/_issue_comment.json.jbuilder +2 -0
  71. data/{example → examples/rails-5.0}/app/views/issue_comments/_table.html.erb +0 -0
  72. data/{example → examples/rails-5.0}/app/views/issue_comments/edit.html.erb +0 -0
  73. data/{example → examples/rails-5.0}/app/views/issue_comments/index.html.erb +0 -0
  74. data/examples/rails-5.0/app/views/issue_comments/index.json.jbuilder +1 -0
  75. data/{example → examples/rails-5.0}/app/views/issue_comments/new.html.erb +0 -0
  76. data/{example → examples/rails-5.0}/app/views/issue_comments/show.html.erb +0 -0
  77. data/examples/rails-5.0/app/views/issue_comments/show.json.jbuilder +1 -0
  78. data/{example → examples/rails-5.0}/app/views/issues/_form.html.erb +0 -0
  79. data/examples/rails-5.0/app/views/issues/_issue.json.jbuilder +2 -0
  80. data/{example → examples/rails-5.0}/app/views/issues/_table.html.erb +0 -0
  81. data/{example → examples/rails-5.0}/app/views/issues/edit.html.erb +0 -0
  82. data/{example → examples/rails-5.0}/app/views/issues/index.html.erb +0 -0
  83. data/examples/rails-5.0/app/views/issues/index.json.jbuilder +1 -0
  84. data/{example → examples/rails-5.0}/app/views/issues/new.html.erb +0 -0
  85. data/{example → examples/rails-5.0}/app/views/issues/show.html.erb +0 -0
  86. data/examples/rails-5.0/app/views/issues/show.json.jbuilder +1 -0
  87. data/{example → examples/rails-5.0}/app/views/layouts/application.html.erb +0 -0
  88. data/{example → examples/rails-5.0}/app/views/layouts/mailer.html.erb +0 -0
  89. data/{example → examples/rails-5.0}/app/views/layouts/mailer.text.erb +0 -0
  90. data/{example → examples/rails-5.0}/app/views/phases/_form.html.erb +0 -0
  91. data/examples/rails-5.0/app/views/phases/_phase.json.jbuilder +2 -0
  92. data/{example → examples/rails-5.0}/app/views/phases/_table.html.erb +0 -0
  93. data/{example → examples/rails-5.0}/app/views/phases/edit.html.erb +0 -0
  94. data/{example → examples/rails-5.0}/app/views/phases/index.html.erb +0 -0
  95. data/examples/rails-5.0/app/views/phases/index.json.jbuilder +1 -0
  96. data/{example → examples/rails-5.0}/app/views/phases/new.html.erb +0 -0
  97. data/{example → examples/rails-5.0}/app/views/phases/show.html.erb +0 -0
  98. data/examples/rails-5.0/app/views/phases/show.json.jbuilder +1 -0
  99. data/{example → examples/rails-5.0}/app/views/project_assignments/_form.html.erb +0 -0
  100. data/examples/rails-5.0/app/views/project_assignments/_project_assignment.json.jbuilder +2 -0
  101. data/{example → examples/rails-5.0}/app/views/project_assignments/_table.html.erb +0 -0
  102. data/{example → examples/rails-5.0}/app/views/project_assignments/edit.html.erb +0 -0
  103. data/{example → examples/rails-5.0}/app/views/project_assignments/index.html.erb +0 -0
  104. data/examples/rails-5.0/app/views/project_assignments/index.json.jbuilder +1 -0
  105. data/{example → examples/rails-5.0}/app/views/project_assignments/new.html.erb +0 -0
  106. data/{example → examples/rails-5.0}/app/views/project_assignments/show.html.erb +0 -0
  107. data/examples/rails-5.0/app/views/project_assignments/show.json.jbuilder +1 -0
  108. data/{example → examples/rails-5.0}/app/views/projects/_form.html.erb +0 -0
  109. data/examples/rails-5.0/app/views/projects/_project.json.jbuilder +2 -0
  110. data/{example → examples/rails-5.0}/app/views/projects/_table.html.erb +0 -0
  111. data/{example → examples/rails-5.0}/app/views/projects/edit.html.erb +0 -0
  112. data/{example → examples/rails-5.0}/app/views/projects/index.html.erb +0 -0
  113. data/examples/rails-5.0/app/views/projects/index.json.jbuilder +1 -0
  114. data/{example → examples/rails-5.0}/app/views/projects/new.html.erb +0 -0
  115. data/{example → examples/rails-5.0}/app/views/projects/show.html.erb +0 -0
  116. data/examples/rails-5.0/app/views/projects/show.json.jbuilder +1 -0
  117. data/{example → examples/rails-5.0}/bin/bundle +0 -0
  118. data/{example → examples/rails-5.0}/bin/rails +0 -0
  119. data/{example → examples/rails-5.0}/bin/rake +0 -0
  120. data/{example → examples/rails-5.0}/bin/setup +0 -0
  121. data/{example → examples/rails-5.0}/bin/update +0 -0
  122. data/{example → examples/rails-5.0}/config.ru +0 -0
  123. data/{example → examples/rails-5.0}/config/application.rb +1 -2
  124. data/{example → examples/rails-5.0}/config/boot.rb +0 -0
  125. data/{example → examples/rails-5.0}/config/cable.yml +0 -0
  126. data/{example → examples/rails-5.0}/config/database.yml +0 -0
  127. data/{example → examples/rails-5.0}/config/environment.rb +0 -0
  128. data/{example → examples/rails-5.0}/config/environments/development.rb +0 -0
  129. data/{example → examples/rails-5.0}/config/environments/production.rb +0 -0
  130. data/{example → examples/rails-5.0}/config/environments/test.rb +0 -0
  131. data/{example → examples/rails-5.0}/config/initializers/application_controller_renderer.rb +0 -0
  132. data/{example → examples/rails-5.0}/config/initializers/assets.rb +0 -0
  133. data/{example → examples/rails-5.0}/config/initializers/backtrace_silencers.rb +0 -0
  134. data/{example → examples/rails-5.0}/config/initializers/cookies_serializer.rb +0 -0
  135. data/{example → examples/rails-5.0}/config/initializers/devise.rb +0 -0
  136. data/{example → examples/rails-5.0}/config/initializers/filter_parameter_logging.rb +0 -0
  137. data/{example → examples/rails-5.0}/config/initializers/inflections.rb +0 -0
  138. data/{example → examples/rails-5.0}/config/initializers/mime_types.rb +0 -0
  139. data/{example → examples/rails-5.0}/config/initializers/new_framework_defaults.rb +0 -0
  140. data/{example → examples/rails-5.0}/config/initializers/pretty_validation.rb +0 -0
  141. data/{example → examples/rails-5.0}/config/initializers/session_store.rb +0 -0
  142. data/{example → examples/rails-5.0}/config/initializers/wrap_parameters.rb +0 -0
  143. data/{example → examples/rails-5.0}/config/locales/devise.en.yml +0 -0
  144. data/{example → examples/rails-5.0}/config/locales/devise.ja.yml +0 -0
  145. data/{example → examples/rails-5.0}/config/locales/en.yml +0 -0
  146. data/{example → examples/rails-5.0}/config/locales/rails.ja.yml +0 -0
  147. data/{example → examples/rails-5.0}/config/puma.rb +0 -0
  148. data/{example → examples/rails-5.0}/config/routes.rb +0 -0
  149. data/{example → examples/rails-5.0}/config/secrets.yml +0 -0
  150. data/{example → examples/rails-5.0}/config/spring.rb +0 -0
  151. data/{example → examples/rails-5.0}/db/schema.rb +0 -0
  152. data/{example → examples/rails-5.0}/lib/assets/.keep +0 -0
  153. data/{example → examples/rails-5.0}/log/.keep +0 -0
  154. data/{example → examples/rails-5.0}/public/404.html +0 -0
  155. data/{example → examples/rails-5.0}/public/422.html +0 -0
  156. data/{example → examples/rails-5.0}/public/500.html +0 -0
  157. data/{example → examples/rails-5.0}/public/apple-touch-icon-precomposed.png +0 -0
  158. data/{example → examples/rails-5.0}/public/apple-touch-icon.png +0 -0
  159. data/{example → examples/rails-5.0}/public/favicon.ico +0 -0
  160. data/{example → examples/rails-5.0}/spec/controllers/attached_files_controller_spec.rb +6 -6
  161. data/{example → examples/rails-5.0}/spec/controllers/issue_comments_controller_spec.rb +5 -5
  162. data/{example → examples/rails-5.0}/spec/controllers/issues_controller_spec.rb +4 -4
  163. data/{example → examples/rails-5.0}/spec/controllers/phases_controller_spec.rb +4 -4
  164. data/{example → examples/rails-5.0}/spec/controllers/project_assignments_controller_spec.rb +4 -4
  165. data/{example → examples/rails-5.0}/spec/controllers/projects_controller_spec.rb +3 -3
  166. data/{example → examples/rails-5.0}/spec/factories/attached_files.rb +1 -1
  167. data/{example → examples/rails-5.0}/spec/factories/issue_comments.rb +1 -1
  168. data/{example → examples/rails-5.0}/spec/factories/issues.rb +1 -1
  169. data/{example → examples/rails-5.0}/spec/factories/phases.rb +1 -1
  170. data/{example → examples/rails-5.0}/spec/factories/project_assignments.rb +1 -1
  171. data/{example → examples/rails-5.0}/spec/factories/projects.rb +1 -1
  172. data/{example → examples/rails-5.0}/spec/factories/users.rb +1 -1
  173. data/{example → examples/rails-5.0}/spec/helpers/attached_files_helper_spec.rb +0 -0
  174. data/{example → examples/rails-5.0}/spec/helpers/issue_comments_helper_spec.rb +0 -0
  175. data/{example → examples/rails-5.0}/spec/helpers/issues_helper_spec.rb +0 -0
  176. data/{example → examples/rails-5.0}/spec/helpers/phases_helper_spec.rb +0 -0
  177. data/{example → examples/rails-5.0}/spec/helpers/project_assignments_helper_spec.rb +0 -0
  178. data/{example → examples/rails-5.0}/spec/helpers/projects_helper_spec.rb +0 -0
  179. data/{example → examples/rails-5.0}/spec/rails_helper.rb +0 -0
  180. data/{example → examples/rails-5.0}/spec/requests/attached_files_spec.rb +1 -1
  181. data/{example → examples/rails-5.0}/spec/requests/issue_comments_spec.rb +1 -1
  182. data/{example → examples/rails-5.0}/spec/requests/issues_spec.rb +1 -1
  183. data/{example → examples/rails-5.0}/spec/requests/phases_spec.rb +1 -1
  184. data/{example → examples/rails-5.0}/spec/requests/project_assignments_spec.rb +1 -1
  185. data/{example → examples/rails-5.0}/spec/requests/projects_spec.rb +1 -1
  186. data/{example → examples/rails-5.0}/spec/routing/attached_files_routing_spec.rb +0 -0
  187. data/{example → examples/rails-5.0}/spec/routing/issue_comments_routing_spec.rb +0 -0
  188. data/{example → examples/rails-5.0}/spec/routing/issues_routing_spec.rb +0 -0
  189. data/{example → examples/rails-5.0}/spec/routing/phases_routing_spec.rb +0 -0
  190. data/{example → examples/rails-5.0}/spec/routing/project_assignments_routing_spec.rb +0 -0
  191. data/{example → examples/rails-5.0}/spec/routing/projects_routing_spec.rb +0 -0
  192. data/{example → examples/rails-5.0}/spec/spec_helper.rb +0 -0
  193. data/{example → examples/rails-5.0}/spec/support/controller_macros.rb +2 -2
  194. data/{example → examples/rails-5.0}/spec/support/devise.rb +0 -0
  195. data/{example → examples/rails-5.0}/spec/support/field_assertions.rb +0 -0
  196. data/{example → examples/rails-5.0}/spec/support/time_match_support.rb +0 -0
  197. data/{example → examples/rails-5.0}/spec/views/attached_files/edit.html.erb_spec.rb +5 -5
  198. data/examples/rails-5.0/spec/views/attached_files/index.html.erb_spec.rb +22 -0
  199. data/{example → examples/rails-5.0}/spec/views/attached_files/new.html.erb_spec.rb +5 -5
  200. data/examples/rails-5.0/spec/views/attached_files/show.html.erb_spec.rb +19 -0
  201. data/{example → examples/rails-5.0}/spec/views/issue_comments/edit.html.erb_spec.rb +4 -4
  202. data/{example → examples/rails-5.0}/spec/views/issue_comments/index.html.erb_spec.rb +5 -5
  203. data/{example → examples/rails-5.0}/spec/views/issue_comments/new.html.erb_spec.rb +4 -4
  204. data/{example → examples/rails-5.0}/spec/views/issue_comments/show.html.erb_spec.rb +4 -4
  205. data/{example → examples/rails-5.0}/spec/views/issues/edit.html.erb_spec.rb +3 -3
  206. data/{example → examples/rails-5.0}/spec/views/issues/index.html.erb_spec.rb +4 -4
  207. data/{example → examples/rails-5.0}/spec/views/issues/new.html.erb_spec.rb +3 -3
  208. data/{example → examples/rails-5.0}/spec/views/issues/show.html.erb_spec.rb +3 -3
  209. data/{example → examples/rails-5.0}/spec/views/phases/edit.html.erb_spec.rb +3 -3
  210. data/{example → examples/rails-5.0}/spec/views/phases/index.html.erb_spec.rb +4 -4
  211. data/{example → examples/rails-5.0}/spec/views/phases/new.html.erb_spec.rb +3 -3
  212. data/{example → examples/rails-5.0}/spec/views/phases/show.html.erb_spec.rb +3 -3
  213. data/{example → examples/rails-5.0}/spec/views/project_assignments/edit.html.erb_spec.rb +3 -3
  214. data/{example → examples/rails-5.0}/spec/views/project_assignments/index.html.erb_spec.rb +4 -4
  215. data/{example → examples/rails-5.0}/spec/views/project_assignments/new.html.erb_spec.rb +3 -3
  216. data/{example → examples/rails-5.0}/spec/views/project_assignments/show.html.erb_spec.rb +3 -3
  217. data/{example → examples/rails-5.0}/spec/views/projects/edit.html.erb_spec.rb +2 -2
  218. data/{example → examples/rails-5.0}/spec/views/projects/index.html.erb_spec.rb +3 -3
  219. data/{example → examples/rails-5.0}/spec/views/projects/new.html.erb_spec.rb +2 -2
  220. data/{example → examples/rails-5.0}/spec/views/projects/show.html.erb_spec.rb +2 -2
  221. data/examples/rails-5.0/tmp/.keep +0 -0
  222. data/examples/rails-5.1/.gitignore +4 -0
  223. data/examples/rails-5.1/.model_base +1 -0
  224. data/examples/rails-5.1/.rspec +2 -0
  225. data/examples/rails-5.1/Gemfile +87 -0
  226. data/examples/rails-5.1/Gemfile.lock +361 -0
  227. data/examples/rails-5.1/README.md +24 -0
  228. data/examples/rails-5.1/Rakefile +6 -0
  229. data/examples/rails-5.1/app/assets/config/manifest.js +3 -0
  230. data/examples/rails-5.1/app/assets/images/.keep +0 -0
  231. data/examples/rails-5.1/app/assets/javascripts/application.js +15 -0
  232. data/examples/rails-5.1/app/assets/javascripts/bootstrap.js.coffee +3 -0
  233. data/examples/rails-5.1/app/assets/javascripts/cable.js +13 -0
  234. data/examples/rails-5.1/app/assets/javascripts/channels/.keep +0 -0
  235. data/examples/rails-5.1/app/assets/stylesheets/application.css +15 -0
  236. data/examples/rails-5.1/app/assets/stylesheets/bootstrap_and_overrides.css +6 -0
  237. data/examples/rails-5.1/app/channels/application_cable/channel.rb +4 -0
  238. data/examples/rails-5.1/app/channels/application_cable/connection.rb +4 -0
  239. data/examples/rails-5.1/app/controllers/application_controller.rb +3 -0
  240. data/examples/rails-5.1/app/controllers/attached_files_controller.rb +63 -0
  241. data/examples/rails-5.1/app/controllers/concerns/.keep +0 -0
  242. data/examples/rails-5.1/app/controllers/concerns/authentication.rb +13 -0
  243. data/examples/rails-5.1/app/controllers/issue_comments_controller.rb +63 -0
  244. data/examples/rails-5.1/app/controllers/issues_controller.rb +63 -0
  245. data/examples/rails-5.1/app/controllers/phases_controller.rb +63 -0
  246. data/examples/rails-5.1/app/controllers/project_assignments_controller.rb +63 -0
  247. data/examples/rails-5.1/app/controllers/projects_controller.rb +63 -0
  248. data/examples/rails-5.1/app/helpers/application_helper.rb +2 -0
  249. data/examples/rails-5.1/app/helpers/attached_files_helper.rb +3 -0
  250. data/examples/rails-5.1/app/helpers/issue_comments_helper.rb +3 -0
  251. data/examples/rails-5.1/app/helpers/issues_helper.rb +3 -0
  252. data/examples/rails-5.1/app/helpers/phases_helper.rb +3 -0
  253. data/examples/rails-5.1/app/helpers/project_assignments_helper.rb +3 -0
  254. data/examples/rails-5.1/app/helpers/projects_helper.rb +3 -0
  255. data/examples/rails-5.1/app/jobs/application_job.rb +2 -0
  256. data/examples/rails-5.1/app/mailers/application_mailer.rb +4 -0
  257. data/examples/rails-5.1/app/models +1 -0
  258. data/examples/rails-5.1/app/validations +1 -0
  259. data/examples/rails-5.1/app/views/attached_files/_attached_file.json.jbuilder +2 -0
  260. data/examples/rails-5.1/app/views/attached_files/_form.html.erb +48 -0
  261. data/examples/rails-5.1/app/views/attached_files/_table.html.erb +31 -0
  262. data/examples/rails-5.1/app/views/attached_files/edit.html.erb +5 -0
  263. data/examples/rails-5.1/app/views/attached_files/index.html.erb +9 -0
  264. data/examples/rails-5.1/app/views/attached_files/index.json.jbuilder +1 -0
  265. data/examples/rails-5.1/app/views/attached_files/new.html.erb +5 -0
  266. data/examples/rails-5.1/app/views/attached_files/show.html.erb +27 -0
  267. data/examples/rails-5.1/app/views/attached_files/show.json.jbuilder +1 -0
  268. data/examples/rails-5.1/app/views/issue_comments/_form.html.erb +55 -0
  269. data/{example → examples/rails-5.1}/app/views/issue_comments/_issue_comment.json.jbuilder +0 -0
  270. data/examples/rails-5.1/app/views/issue_comments/_table.html.erb +33 -0
  271. data/examples/rails-5.1/app/views/issue_comments/edit.html.erb +5 -0
  272. data/examples/rails-5.1/app/views/issue_comments/index.html.erb +9 -0
  273. data/{example → examples/rails-5.1}/app/views/issue_comments/index.json.jbuilder +0 -0
  274. data/examples/rails-5.1/app/views/issue_comments/new.html.erb +5 -0
  275. data/examples/rails-5.1/app/views/issue_comments/show.html.erb +29 -0
  276. data/examples/rails-5.1/app/views/issue_comments/show.json.jbuilder +1 -0
  277. data/examples/rails-5.1/app/views/issues/_form.html.erb +62 -0
  278. data/examples/rails-5.1/app/views/issues/_issue.json.jbuilder +2 -0
  279. data/examples/rails-5.1/app/views/issues/_table.html.erb +35 -0
  280. data/examples/rails-5.1/app/views/issues/edit.html.erb +5 -0
  281. data/examples/rails-5.1/app/views/issues/index.html.erb +9 -0
  282. data/examples/rails-5.1/app/views/issues/index.json.jbuilder +1 -0
  283. data/examples/rails-5.1/app/views/issues/new.html.erb +5 -0
  284. data/examples/rails-5.1/app/views/issues/show.html.erb +31 -0
  285. data/examples/rails-5.1/app/views/issues/show.json.jbuilder +1 -0
  286. data/examples/rails-5.1/app/views/kaminari/_first_page.html.erb +3 -0
  287. data/examples/rails-5.1/app/views/kaminari/_gap.html.erb +3 -0
  288. data/examples/rails-5.1/app/views/kaminari/_last_page.html.erb +3 -0
  289. data/examples/rails-5.1/app/views/kaminari/_next_page.html.erb +3 -0
  290. data/examples/rails-5.1/app/views/kaminari/_page.html.erb +9 -0
  291. data/examples/rails-5.1/app/views/kaminari/_paginator.html.erb +15 -0
  292. data/examples/rails-5.1/app/views/kaminari/_prev_page.html.erb +3 -0
  293. data/examples/rails-5.1/app/views/layouts/application.html.erb +65 -0
  294. data/examples/rails-5.1/app/views/layouts/mailer.html.erb +13 -0
  295. data/examples/rails-5.1/app/views/layouts/mailer.text.erb +1 -0
  296. data/examples/rails-5.1/app/views/phases/_form.html.erb +55 -0
  297. data/examples/rails-5.1/app/views/phases/_phase.json.jbuilder +2 -0
  298. data/examples/rails-5.1/app/views/phases/_table.html.erb +31 -0
  299. data/examples/rails-5.1/app/views/phases/edit.html.erb +5 -0
  300. data/examples/rails-5.1/app/views/phases/index.html.erb +9 -0
  301. data/examples/rails-5.1/app/views/phases/index.json.jbuilder +1 -0
  302. data/examples/rails-5.1/app/views/phases/new.html.erb +5 -0
  303. data/examples/rails-5.1/app/views/phases/show.html.erb +25 -0
  304. data/examples/rails-5.1/app/views/phases/show.json.jbuilder +1 -0
  305. data/examples/rails-5.1/app/views/project_assignments/_form.html.erb +62 -0
  306. data/examples/rails-5.1/app/views/project_assignments/_project_assignment.json.jbuilder +2 -0
  307. data/examples/rails-5.1/app/views/project_assignments/_table.html.erb +35 -0
  308. data/examples/rails-5.1/app/views/project_assignments/edit.html.erb +5 -0
  309. data/examples/rails-5.1/app/views/project_assignments/index.html.erb +9 -0
  310. data/examples/rails-5.1/app/views/project_assignments/index.json.jbuilder +1 -0
  311. data/examples/rails-5.1/app/views/project_assignments/new.html.erb +5 -0
  312. data/examples/rails-5.1/app/views/project_assignments/show.html.erb +29 -0
  313. data/examples/rails-5.1/app/views/project_assignments/show.json.jbuilder +1 -0
  314. data/examples/rails-5.1/app/views/projects/_form.html.erb +48 -0
  315. data/examples/rails-5.1/app/views/projects/_project.json.jbuilder +2 -0
  316. data/examples/rails-5.1/app/views/projects/_table.html.erb +29 -0
  317. data/examples/rails-5.1/app/views/projects/edit.html.erb +5 -0
  318. data/examples/rails-5.1/app/views/projects/index.html.erb +9 -0
  319. data/examples/rails-5.1/app/views/projects/index.json.jbuilder +1 -0
  320. data/examples/rails-5.1/app/views/projects/new.html.erb +5 -0
  321. data/examples/rails-5.1/app/views/projects/show.html.erb +23 -0
  322. data/examples/rails-5.1/app/views/projects/show.json.jbuilder +1 -0
  323. data/examples/rails-5.1/bin/bundle +3 -0
  324. data/examples/rails-5.1/bin/rails +9 -0
  325. data/examples/rails-5.1/bin/rake +9 -0
  326. data/examples/rails-5.1/bin/setup +38 -0
  327. data/examples/rails-5.1/bin/spring +17 -0
  328. data/examples/rails-5.1/bin/update +29 -0
  329. data/examples/rails-5.1/bin/yarn +11 -0
  330. data/examples/rails-5.1/config.ru +5 -0
  331. data/examples/rails-5.1/config/application.rb +31 -0
  332. data/examples/rails-5.1/config/boot.rb +3 -0
  333. data/examples/rails-5.1/config/cable.yml +10 -0
  334. data/examples/rails-5.1/config/database.yml +25 -0
  335. data/examples/rails-5.1/config/environment.rb +5 -0
  336. data/examples/rails-5.1/config/environments/development.rb +79 -0
  337. data/examples/rails-5.1/config/environments/production.rb +91 -0
  338. data/examples/rails-5.1/config/environments/test.rb +42 -0
  339. data/examples/rails-5.1/config/initializers/application_controller_renderer.rb +8 -0
  340. data/examples/rails-5.1/config/initializers/assets.rb +14 -0
  341. data/examples/rails-5.1/config/initializers/backtrace_silencers.rb +7 -0
  342. data/examples/rails-5.1/config/initializers/cookies_serializer.rb +5 -0
  343. data/examples/rails-5.1/config/initializers/devise.rb +279 -0
  344. data/examples/rails-5.1/config/initializers/filter_parameter_logging.rb +4 -0
  345. data/examples/rails-5.1/config/initializers/inflections.rb +16 -0
  346. data/examples/rails-5.1/config/initializers/mime_types.rb +4 -0
  347. data/examples/rails-5.1/config/initializers/wrap_parameters.rb +14 -0
  348. data/examples/rails-5.1/config/locales/devise.en.yml +64 -0
  349. data/examples/rails-5.1/config/locales/en.bootstrap.yml +23 -0
  350. data/examples/rails-5.1/config/locales/en.yml +33 -0
  351. data/examples/rails-5.1/config/locales/ja.devise.yml +60 -0
  352. data/examples/rails-5.1/config/locales/ja.yml +205 -0
  353. data/examples/rails-5.1/config/puma.rb +56 -0
  354. data/examples/rails-5.1/config/routes.rb +10 -0
  355. data/examples/rails-5.1/config/secrets.yml +32 -0
  356. data/examples/rails-5.1/config/spring.rb +6 -0
  357. data/examples/rails-5.1/db/schema.rb +1 -0
  358. data/examples/rails-5.1/lib/assets/.keep +0 -0
  359. data/examples/rails-5.1/lib/tasks/.keep +0 -0
  360. data/examples/rails-5.1/log/.keep +0 -0
  361. data/examples/rails-5.1/package.json +5 -0
  362. data/examples/rails-5.1/public/404.html +67 -0
  363. data/examples/rails-5.1/public/422.html +67 -0
  364. data/examples/rails-5.1/public/500.html +66 -0
  365. data/examples/rails-5.1/public/apple-touch-icon-precomposed.png +0 -0
  366. data/examples/rails-5.1/public/apple-touch-icon.png +0 -0
  367. data/examples/rails-5.1/public/favicon.ico +0 -0
  368. data/examples/rails-5.1/public/robots.txt +1 -0
  369. data/examples/rails-5.1/spec/controllers/attached_files_controller_spec.rb +181 -0
  370. data/examples/rails-5.1/spec/controllers/issue_comments_controller_spec.rb +179 -0
  371. data/examples/rails-5.1/spec/controllers/issues_controller_spec.rb +181 -0
  372. data/examples/rails-5.1/spec/controllers/phases_controller_spec.rb +183 -0
  373. data/examples/rails-5.1/spec/controllers/project_assignments_controller_spec.rb +178 -0
  374. data/examples/rails-5.1/spec/controllers/projects_controller_spec.rb +180 -0
  375. data/examples/rails-5.1/spec/factories +1 -0
  376. data/examples/rails-5.1/spec/helpers/attached_files_helper_spec.rb +15 -0
  377. data/examples/rails-5.1/spec/helpers/issue_comments_helper_spec.rb +15 -0
  378. data/examples/rails-5.1/spec/helpers/issues_helper_spec.rb +15 -0
  379. data/examples/rails-5.1/spec/helpers/phases_helper_spec.rb +15 -0
  380. data/examples/rails-5.1/spec/helpers/project_assignments_helper_spec.rb +15 -0
  381. data/examples/rails-5.1/spec/helpers/projects_helper_spec.rb +15 -0
  382. data/examples/rails-5.1/spec/models/user_spec.rb +5 -0
  383. data/examples/rails-5.1/spec/rails_helper.rb +69 -0
  384. data/examples/rails-5.1/spec/requests/attached_files_spec.rb +14 -0
  385. data/examples/rails-5.1/spec/requests/issue_comments_spec.rb +14 -0
  386. data/examples/rails-5.1/spec/requests/issues_spec.rb +14 -0
  387. data/examples/rails-5.1/spec/requests/phases_spec.rb +14 -0
  388. data/examples/rails-5.1/spec/requests/project_assignments_spec.rb +14 -0
  389. data/examples/rails-5.1/spec/requests/projects_spec.rb +14 -0
  390. data/examples/rails-5.1/spec/routing/attached_files_routing_spec.rb +38 -0
  391. data/examples/rails-5.1/spec/routing/issue_comments_routing_spec.rb +38 -0
  392. data/examples/rails-5.1/spec/routing/issues_routing_spec.rb +38 -0
  393. data/examples/rails-5.1/spec/routing/phases_routing_spec.rb +38 -0
  394. data/examples/rails-5.1/spec/routing/project_assignments_routing_spec.rb +38 -0
  395. data/examples/rails-5.1/spec/routing/projects_routing_spec.rb +38 -0
  396. data/examples/rails-5.1/spec/spec_helper.rb +96 -0
  397. data/examples/rails-5.1/spec/support/controller_macros.rb +19 -0
  398. data/examples/rails-5.1/spec/support/devise.rb +19 -0
  399. data/examples/rails-5.1/spec/support/field_assertions.rb +6 -0
  400. data/examples/rails-5.1/spec/support/time_match_support.rb +10 -0
  401. data/examples/rails-5.1/spec/views/attached_files/edit.html.erb_spec.rb +23 -0
  402. data/examples/rails-5.1/spec/views/attached_files/index.html.erb_spec.rb +22 -0
  403. data/examples/rails-5.1/spec/views/attached_files/new.html.erb_spec.rb +23 -0
  404. data/examples/rails-5.1/spec/views/attached_files/show.html.erb_spec.rb +19 -0
  405. data/examples/rails-5.1/spec/views/issue_comments/edit.html.erb_spec.rb +23 -0
  406. data/examples/rails-5.1/spec/views/issue_comments/index.html.erb_spec.rb +22 -0
  407. data/examples/rails-5.1/spec/views/issue_comments/new.html.erb_spec.rb +23 -0
  408. data/examples/rails-5.1/spec/views/issue_comments/show.html.erb_spec.rb +19 -0
  409. data/examples/rails-5.1/spec/views/issues/edit.html.erb_spec.rb +23 -0
  410. data/examples/rails-5.1/spec/views/issues/index.html.erb_spec.rb +23 -0
  411. data/examples/rails-5.1/spec/views/issues/new.html.erb_spec.rb +23 -0
  412. data/examples/rails-5.1/spec/views/issues/show.html.erb_spec.rb +20 -0
  413. data/examples/rails-5.1/spec/views/phases/edit.html.erb_spec.rb +22 -0
  414. data/examples/rails-5.1/spec/views/phases/index.html.erb_spec.rb +22 -0
  415. data/examples/rails-5.1/spec/views/phases/new.html.erb_spec.rb +22 -0
  416. data/examples/rails-5.1/spec/views/phases/show.html.erb_spec.rb +19 -0
  417. data/examples/rails-5.1/spec/views/project_assignments/edit.html.erb_spec.rb +23 -0
  418. data/examples/rails-5.1/spec/views/project_assignments/index.html.erb_spec.rb +21 -0
  419. data/examples/rails-5.1/spec/views/project_assignments/new.html.erb_spec.rb +23 -0
  420. data/examples/rails-5.1/spec/views/project_assignments/show.html.erb_spec.rb +19 -0
  421. data/examples/rails-5.1/spec/views/projects/edit.html.erb_spec.rb +20 -0
  422. data/examples/rails-5.1/spec/views/projects/index.html.erb_spec.rb +20 -0
  423. data/examples/rails-5.1/spec/views/projects/new.html.erb_spec.rb +20 -0
  424. data/examples/rails-5.1/spec/views/projects/show.html.erb_spec.rb +17 -0
  425. data/examples/rails-5.1/test/application_system_test_case.rb +5 -0
  426. data/examples/rails-5.1/test/controllers/.keep +0 -0
  427. data/examples/rails-5.1/test/fixtures/.keep +0 -0
  428. data/examples/rails-5.1/test/fixtures/files/.keep +0 -0
  429. data/examples/rails-5.1/test/helpers/.keep +0 -0
  430. data/examples/rails-5.1/test/integration/.keep +0 -0
  431. data/examples/rails-5.1/test/mailers/.keep +0 -0
  432. data/examples/rails-5.1/test/models/.keep +0 -0
  433. data/examples/rails-5.1/test/system/.keep +0 -0
  434. data/examples/rails-5.1/test/test_helper.rb +9 -0
  435. data/examples/rails-5.1/tmp/.keep +0 -0
  436. data/examples/rails-5.1/vendor/.keep +0 -0
  437. data/lib/generators/model_base/templates/spec/factories/users.rb +1 -1
  438. data/lib/generators/model_base/templates/spec/support/controller_macros.rb +2 -2
  439. data/lib/model_base/generators.rb +4 -4
  440. data/lib/model_base/generators/{factory_girl → factory_bot}/model.rb +8 -8
  441. data/lib/model_base/meta_model.rb +12 -12
  442. data/lib/model_base/version.rb +1 -1
  443. data/lib/templates/{factory_girl → factory_bot}/factory.rb +2 -2
  444. data/lib/templates/rspec/integration/request_spec.rb +1 -1
  445. data/lib/templates/rspec/scaffold/controller_spec.rb +3 -3
  446. data/lib/templates/rspec/scaffold/edit_spec.rb +2 -2
  447. data/lib/templates/rspec/scaffold/index_spec.rb +3 -3
  448. data/lib/templates/rspec/scaffold/new_spec.rb +2 -2
  449. data/lib/templates/rspec/scaffold/show_spec.rb +2 -2
  450. data/model_base_generators.gemspec +1 -0
  451. data/rails_template.rb +26 -10
  452. metadata +435 -206
  453. data/example/app/views/issue_comments/show.json.jbuilder +0 -1
  454. data/example/spec/views/attached_files/index.html.erb_spec.rb +0 -22
  455. data/example/spec/views/attached_files/show.html.erb_spec.rb +0 -19
@@ -0,0 +1,179 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ # This spec was generated by rspec-rails when you ran the scaffold generator.
5
+ # It demonstrates how one might use RSpec to specify the controller code that
6
+ # was generated by Rails when you ran the scaffold generator.
7
+ #
8
+ # It assumes that the implementation code is generated by the rails scaffold
9
+ # generator. If you are using any extension libraries to generate different
10
+ # controller code, this generated spec may or may not pass.
11
+ #
12
+ # It only uses APIs available in rails and/or rspec-rails. There are a number
13
+ # of tools you can use to make these specs even more expressive, but we're
14
+ # sticking to rails and rspec-rails APIs to keep things simple and stable.
15
+ #
16
+ # Compared to earlier versions of this generator, there is very limited use of
17
+ # stubs and message expectations in this spec. Stubs are only used when there
18
+ # is no simpler way to get a handle on the object needed for the example.
19
+ # Message expectations are only used when there is no simpler way to specify
20
+ # that an instance is receiving a specific message.
21
+
22
+ RSpec.describe IssueCommentsController, type: :controller do
23
+ let(:user) { FactoryBot.create(:user) }
24
+ let(:project) { FactoryBot.create(:project, owner: user) }
25
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
26
+ let(:issue_comment) { FactoryBot.create(:issue_comment, issue: issue, user: user) }
27
+ before { devise_user_login(user) }
28
+
29
+ # This should return the minimal set of attributes required to create a valid
30
+ # IssueComment. As you add validations to IssueComment, be sure to
31
+ # adjust the attributes here as well.
32
+ let(:valid_parameters) do
33
+ FactoryBot.attributes_for(:issue_comment).merge(issue_id: issue.id, user_id: user.id)
34
+ end
35
+
36
+ let(:invalid_parameters) do
37
+ skip('Add a hash of attributes invalid for your model')
38
+ end
39
+
40
+ # This should return the minimal set of values that should be in the session
41
+ # in order to pass any filters (e.g. authentication) defined in
42
+ # IssueCommentsController. Be sure to keep this updated too.
43
+ let(:valid_session) { {} }
44
+
45
+ describe 'GET #index' do
46
+ it 'assigns all issue_comments as @issue_comments' do
47
+ get :index, session: valid_session,
48
+ params: {}
49
+ expect(assigns(:issue_comments)).to eq([issue_comment])
50
+ end
51
+ end
52
+
53
+ describe 'GET #show' do
54
+ it 'assigns the requested issue_comment as @issue_comment' do
55
+ issue_comment # To create issue_comment
56
+ get :show, session: valid_session,
57
+ params: { id: issue_comment.to_param }
58
+ expect(assigns(:issue_comment)).to eq(issue_comment)
59
+ end
60
+ end
61
+
62
+ describe 'GET #new' do
63
+ it 'assigns a new issue_comment as @issue_comment' do
64
+ get :new, session: valid_session,
65
+ params: {}
66
+ expect(assigns(:issue_comment)).to be_a_new(IssueComment)
67
+ end
68
+ end
69
+
70
+ describe 'GET #edit' do
71
+ it 'assigns the requested issue_comment as @issue_comment' do
72
+ issue_comment # To create issue_comment
73
+ get :edit, session: valid_session,
74
+ params: { id: issue_comment.to_param }
75
+ expect(assigns(:issue_comment)).to eq(issue_comment)
76
+ end
77
+ end
78
+
79
+ describe 'POST #create' do
80
+ context 'with valid params' do
81
+ it 'creates a new IssueComment' do
82
+ expect {
83
+ post :create, session: valid_session,
84
+ params: { issue_comment: valid_parameters }
85
+ }.to change(IssueComment, :count).by(1)
86
+ end
87
+
88
+ it 'assigns a newly created issue_comment as @issue_comment' do
89
+ post :create, session: valid_session,
90
+ params: { issue_comment: valid_parameters }
91
+ expect(assigns(:issue_comment)).to be_a(IssueComment)
92
+ expect(assigns(:issue_comment)).to be_persisted
93
+ end
94
+
95
+ it 'redirects to the created issue_comment' do
96
+ post :create, session: valid_session,
97
+ params: { issue_comment: valid_parameters }
98
+ expect(response).to redirect_to(IssueComment.last)
99
+ end
100
+ end
101
+
102
+ context 'with invalid params' do
103
+ it 'assigns a newly created but unsaved issue_comment as @issue_comment' do
104
+ post :create, session: valid_session,
105
+ params: { issue_comment: invalid_parameters }
106
+ expect(assigns(:issue_comment)).to be_a_new(IssueComment)
107
+ end
108
+
109
+ it "re-renders the 'new' template" do
110
+ post :create, session: valid_session,
111
+ params: { issue_comment: invalid_parameters }
112
+ expect(response).to render_template('new')
113
+ end
114
+ end
115
+ end
116
+
117
+ describe 'PUT #update' do
118
+ context 'with valid params' do
119
+ let(:new_parameters) do
120
+ skip('Add a hash of attributes valid for your model')
121
+ end
122
+
123
+ it 'updates the requested issue_comment' do
124
+ issue_comment # To create issue_comment
125
+ put :update, session: valid_session,
126
+ params: { id: issue_comment.to_param, issue_comment: new_parameters }
127
+ issue_comment.reload
128
+ skip('Add assertions for updated state')
129
+ end
130
+
131
+ it 'assigns the requested issue_comment as @issue_comment' do
132
+ issue_comment # To create issue_comment
133
+ put :update, session: valid_session,
134
+ params: { id: issue_comment.to_param, issue_comment: new_parameters }
135
+ expect(assigns(:issue_comment)).to eq(issue_comment)
136
+ end
137
+
138
+ it 'redirects to the issue_comment' do
139
+ issue_comment # To create issue_comment
140
+ put :update, session: valid_session,
141
+ params: { id: issue_comment.to_param, issue_comment: new_parameters }
142
+ expect(response).to redirect_to(issue_comment)
143
+ end
144
+ end
145
+
146
+ context 'with invalid params' do
147
+ it 'assigns the issue_comment as @issue_comment' do
148
+ issue_comment # To create issue_comment
149
+ put :update, session: valid_session,
150
+ params: { id: issue_comment.to_param, issue_comment: invalid_parameters }
151
+ expect(assigns(:issue_comment)).to eq(issue_comment)
152
+ end
153
+
154
+ it "re-renders the 'edit' template" do
155
+ issue_comment # To create issue_comment
156
+ put :update, session: valid_session,
157
+ params: { id: issue_comment.to_param, issue_comment: invalid_parameters }
158
+ expect(response).to render_template('edit')
159
+ end
160
+ end
161
+ end
162
+
163
+ describe 'DELETE #destroy' do
164
+ it 'destroys the requested issue_comment' do
165
+ issue_comment # To create issue_comment
166
+ expect {
167
+ delete :destroy, session: valid_session,
168
+ params: { id: issue_comment.to_param }
169
+ }.to change(IssueComment, :count).by(-1)
170
+ end
171
+
172
+ it 'redirects to the issue_comments list' do
173
+ issue_comment # To create issue_comment
174
+ delete :destroy, session: valid_session,
175
+ params: { id: issue_comment.to_param }
176
+ expect(response).to redirect_to(issue_comments_url)
177
+ end
178
+ end
179
+ end
@@ -0,0 +1,181 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ # This spec was generated by rspec-rails when you ran the scaffold generator.
5
+ # It demonstrates how one might use RSpec to specify the controller code that
6
+ # was generated by Rails when you ran the scaffold generator.
7
+ #
8
+ # It assumes that the implementation code is generated by the rails scaffold
9
+ # generator. If you are using any extension libraries to generate different
10
+ # controller code, this generated spec may or may not pass.
11
+ #
12
+ # It only uses APIs available in rails and/or rspec-rails. There are a number
13
+ # of tools you can use to make these specs even more expressive, but we're
14
+ # sticking to rails and rspec-rails APIs to keep things simple and stable.
15
+ #
16
+ # Compared to earlier versions of this generator, there is very limited use of
17
+ # stubs and message expectations in this spec. Stubs are only used when there
18
+ # is no simpler way to get a handle on the object needed for the example.
19
+ # Message expectations are only used when there is no simpler way to specify
20
+ # that an instance is receiving a specific message.
21
+
22
+ RSpec.describe IssuesController, type: :controller do
23
+ let(:user) { FactoryBot.create(:user) }
24
+ let(:project) { FactoryBot.create(:project, owner: user) }
25
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
26
+ before { devise_user_login(user) }
27
+
28
+ # This should return the minimal set of attributes required to create a valid
29
+ # Issue. As you add validations to Issue, be sure to
30
+ # adjust the attributes here as well.
31
+ let(:valid_parameters) do
32
+ FactoryBot.attributes_for(:issue).merge(project_id: project.id, creator_id: user.id)
33
+ end
34
+
35
+ let(:invalid_parameters) do
36
+ valid_parameters.symbolize_keys.merge(title: '')
37
+ end
38
+
39
+ # This should return the minimal set of values that should be in the session
40
+ # in order to pass any filters (e.g. authentication) defined in
41
+ # IssuesController. Be sure to keep this updated too.
42
+ let(:valid_session) { {} }
43
+
44
+ describe 'GET #index' do
45
+ it 'assigns all issues as @issues' do
46
+ get :index, session: valid_session,
47
+ params: {}
48
+ expect(assigns(:issues)).to eq([issue])
49
+ end
50
+ end
51
+
52
+ describe 'GET #show' do
53
+ it 'assigns the requested issue as @issue' do
54
+ issue # To create issue
55
+ get :show, session: valid_session,
56
+ params: { id: issue.to_param }
57
+ expect(assigns(:issue)).to eq(issue)
58
+ end
59
+ end
60
+
61
+ describe 'GET #new' do
62
+ it 'assigns a new issue as @issue' do
63
+ get :new, session: valid_session,
64
+ params: {}
65
+ expect(assigns(:issue)).to be_a_new(Issue)
66
+ end
67
+ end
68
+
69
+ describe 'GET #edit' do
70
+ it 'assigns the requested issue as @issue' do
71
+ issue # To create issue
72
+ get :edit, session: valid_session,
73
+ params: { id: issue.to_param }
74
+ expect(assigns(:issue)).to eq(issue)
75
+ end
76
+ end
77
+
78
+ describe 'POST #create' do
79
+ context 'with valid params' do
80
+ it 'creates a new Issue' do
81
+ expect {
82
+ post :create, session: valid_session,
83
+ params: { issue: valid_parameters }
84
+ }.to change(Issue, :count).by(1)
85
+ end
86
+
87
+ it 'assigns a newly created issue as @issue' do
88
+ post :create, session: valid_session,
89
+ params: { issue: valid_parameters }
90
+ expect(assigns(:issue)).to be_a(Issue)
91
+ expect(assigns(:issue)).to be_persisted
92
+ end
93
+
94
+ it 'redirects to the created issue' do
95
+ post :create, session: valid_session,
96
+ params: { issue: valid_parameters }
97
+ expect(response).to redirect_to(Issue.last)
98
+ end
99
+ end
100
+
101
+ context 'with invalid params' do
102
+ it 'assigns a newly created but unsaved issue as @issue' do
103
+ post :create, session: valid_session,
104
+ params: { issue: invalid_parameters }
105
+ expect(assigns(:issue)).to be_a_new(Issue)
106
+ end
107
+
108
+ it "re-renders the 'new' template" do
109
+ post :create, session: valid_session,
110
+ params: { issue: invalid_parameters }
111
+ expect(response).to render_template('new')
112
+ end
113
+ end
114
+ end
115
+
116
+ describe 'PUT #update' do
117
+ context 'with valid params' do
118
+ let(:new_title) { valid_parameters[:title].succ }
119
+ let(:new_status) { Issue.status.values[1] }
120
+ let(:new_parameters) do
121
+ valid_parameters.merge(title: new_title, status: new_status)
122
+ end
123
+
124
+ it 'updates the requested issue' do
125
+ issue # To create issue
126
+ put :update, session: valid_session,
127
+ params: { id: issue.to_param, issue: new_parameters }
128
+ issue.reload
129
+ expect(issue.title).to eq new_title
130
+ expect(issue.status).to eq new_status
131
+ end
132
+
133
+ it 'assigns the requested issue as @issue' do
134
+ issue # To create issue
135
+ put :update, session: valid_session,
136
+ params: { id: issue.to_param, issue: new_parameters }
137
+ expect(assigns(:issue)).to eq(issue)
138
+ end
139
+
140
+ it 'redirects to the issue' do
141
+ issue # To create issue
142
+ put :update, session: valid_session,
143
+ params: { id: issue.to_param, issue: new_parameters }
144
+ expect(response).to redirect_to(issue)
145
+ end
146
+ end
147
+
148
+ context 'with invalid params' do
149
+ it 'assigns the issue as @issue' do
150
+ issue # To create issue
151
+ put :update, session: valid_session,
152
+ params: { id: issue.to_param, issue: invalid_parameters }
153
+ expect(assigns(:issue)).to eq(issue)
154
+ end
155
+
156
+ it "re-renders the 'edit' template" do
157
+ issue # To create issue
158
+ put :update, session: valid_session,
159
+ params: { id: issue.to_param, issue: invalid_parameters }
160
+ expect(response).to render_template('edit')
161
+ end
162
+ end
163
+ end
164
+
165
+ describe 'DELETE #destroy' do
166
+ it 'destroys the requested issue' do
167
+ issue # To create issue
168
+ expect {
169
+ delete :destroy, session: valid_session,
170
+ params: { id: issue.to_param }
171
+ }.to change(Issue, :count).by(-1)
172
+ end
173
+
174
+ it 'redirects to the issues list' do
175
+ issue # To create issue
176
+ delete :destroy, session: valid_session,
177
+ params: { id: issue.to_param }
178
+ expect(response).to redirect_to(issues_url)
179
+ end
180
+ end
181
+ end
@@ -0,0 +1,183 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ # This spec was generated by rspec-rails when you ran the scaffold generator.
5
+ # It demonstrates how one might use RSpec to specify the controller code that
6
+ # was generated by Rails when you ran the scaffold generator.
7
+ #
8
+ # It assumes that the implementation code is generated by the rails scaffold
9
+ # generator. If you are using any extension libraries to generate different
10
+ # controller code, this generated spec may or may not pass.
11
+ #
12
+ # It only uses APIs available in rails and/or rspec-rails. There are a number
13
+ # of tools you can use to make these specs even more expressive, but we're
14
+ # sticking to rails and rspec-rails APIs to keep things simple and stable.
15
+ #
16
+ # Compared to earlier versions of this generator, there is very limited use of
17
+ # stubs and message expectations in this spec. Stubs are only used when there
18
+ # is no simpler way to get a handle on the object needed for the example.
19
+ # Message expectations are only used when there is no simpler way to specify
20
+ # that an instance is receiving a specific message.
21
+
22
+ RSpec.describe PhasesController, type: :controller do
23
+ let(:user) { FactoryBot.create(:user) }
24
+ let(:project) { FactoryBot.create(:project, owner: user) }
25
+ let(:phase) { FactoryBot.create(:phase, project: project) }
26
+ before { devise_user_login(user) }
27
+
28
+ # This should return the minimal set of attributes required to create a valid
29
+ # Phase. As you add validations to Phase, be sure to
30
+ # adjust the attributes here as well.
31
+ let(:valid_parameters) do
32
+ FactoryBot.attributes_for(:phase).merge(project_id: project.id)
33
+ end
34
+
35
+ let(:invalid_parameters) do
36
+ valid_parameters.symbolize_keys.merge(name: '')
37
+ end
38
+
39
+ # This should return the minimal set of values that should be in the session
40
+ # in order to pass any filters (e.g. authentication) defined in
41
+ # PhasesController. Be sure to keep this updated too.
42
+ let(:valid_session) { {} }
43
+
44
+ describe 'GET #index' do
45
+ it 'assigns all phases as @phases' do
46
+ get :index, session: valid_session,
47
+ params: {}
48
+ expect(assigns(:phases)).to eq([phase])
49
+ end
50
+ end
51
+
52
+ describe 'GET #show' do
53
+ it 'assigns the requested phase as @phase' do
54
+ phase # To create phase
55
+ get :show, session: valid_session,
56
+ params: { id: phase.to_param }
57
+ expect(assigns(:phase)).to eq(phase)
58
+ end
59
+ end
60
+
61
+ describe 'GET #new' do
62
+ it 'assigns a new phase as @phase' do
63
+ get :new, session: valid_session,
64
+ params: {}
65
+ expect(assigns(:phase)).to be_a_new(Phase)
66
+ end
67
+ end
68
+
69
+ describe 'GET #edit' do
70
+ it 'assigns the requested phase as @phase' do
71
+ phase # To create phase
72
+ get :edit, session: valid_session,
73
+ params: { id: phase.to_param }
74
+ expect(assigns(:phase)).to eq(phase)
75
+ end
76
+ end
77
+
78
+ describe 'POST #create' do
79
+ context 'with valid params' do
80
+ it 'creates a new Phase' do
81
+ expect {
82
+ post :create, session: valid_session,
83
+ params: { phase: valid_parameters }
84
+ }.to change(Phase, :count).by(1)
85
+ end
86
+
87
+ it 'assigns a newly created phase as @phase' do
88
+ post :create, session: valid_session,
89
+ params: { phase: valid_parameters }
90
+ expect(assigns(:phase)).to be_a(Phase)
91
+ expect(assigns(:phase)).to be_persisted
92
+ end
93
+
94
+ it 'redirects to the created phase' do
95
+ post :create, session: valid_session,
96
+ params: { phase: valid_parameters }
97
+ expect(response).to redirect_to(Phase.last)
98
+ end
99
+ end
100
+
101
+ context 'with invalid params' do
102
+ it 'assigns a newly created but unsaved phase as @phase' do
103
+ post :create, session: valid_session,
104
+ params: { phase: invalid_parameters }
105
+ expect(assigns(:phase)).to be_a_new(Phase)
106
+ end
107
+
108
+ it "re-renders the 'new' template" do
109
+ post :create, session: valid_session,
110
+ params: { phase: invalid_parameters }
111
+ expect(response).to render_template('new')
112
+ end
113
+ end
114
+ end
115
+
116
+ describe 'PUT #update' do
117
+ context 'with valid params' do
118
+ let(:new_name) { valid_parameters[:name].succ }
119
+ let(:new_started_at) { valid_parameters[:started_at].succ }
120
+ let(:new_finished_at) { valid_parameters[:finished_at].succ }
121
+ let(:new_parameters) do
122
+ valid_parameters.merge(name: new_name, started_at: new_started_at, finished_at: new_finished_at)
123
+ end
124
+
125
+ it 'updates the requested phase' do
126
+ phase # To create phase
127
+ put :update, session: valid_session,
128
+ params: { id: phase.to_param, phase: new_parameters }
129
+ phase.reload
130
+ expect(phase.name).to eq new_name
131
+ expect(phase.started_at).to eq new_started_at
132
+ expect(phase.finished_at).to eq new_finished_at
133
+ end
134
+
135
+ it 'assigns the requested phase as @phase' do
136
+ phase # To create phase
137
+ put :update, session: valid_session,
138
+ params: { id: phase.to_param, phase: new_parameters }
139
+ expect(assigns(:phase)).to eq(phase)
140
+ end
141
+
142
+ it 'redirects to the phase' do
143
+ phase # To create phase
144
+ put :update, session: valid_session,
145
+ params: { id: phase.to_param, phase: new_parameters }
146
+ expect(response).to redirect_to(phase)
147
+ end
148
+ end
149
+
150
+ context 'with invalid params' do
151
+ it 'assigns the phase as @phase' do
152
+ phase # To create phase
153
+ put :update, session: valid_session,
154
+ params: { id: phase.to_param, phase: invalid_parameters }
155
+ expect(assigns(:phase)).to eq(phase)
156
+ end
157
+
158
+ it "re-renders the 'edit' template" do
159
+ phase # To create phase
160
+ put :update, session: valid_session,
161
+ params: { id: phase.to_param, phase: invalid_parameters }
162
+ expect(response).to render_template('edit')
163
+ end
164
+ end
165
+ end
166
+
167
+ describe 'DELETE #destroy' do
168
+ it 'destroys the requested phase' do
169
+ phase # To create phase
170
+ expect {
171
+ delete :destroy, session: valid_session,
172
+ params: { id: phase.to_param }
173
+ }.to change(Phase, :count).by(-1)
174
+ end
175
+
176
+ it 'redirects to the phases list' do
177
+ phase # To create phase
178
+ delete :destroy, session: valid_session,
179
+ params: { id: phase.to_param }
180
+ expect(response).to redirect_to(phases_url)
181
+ end
182
+ end
183
+ end