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,19 @@
1
+ # frozen_string_literal: true
2
+ module ControllerMacros
3
+ def devise_login(key, user)
4
+ @request.env['devise.mapping'] = Devise.mappings[key]
5
+ sign_in(user)
6
+ end
7
+
8
+ def devise_user_login(user)
9
+ devise_login(:user, user)
10
+ end
11
+
12
+ def login_admin
13
+ before(:each) { devise_login(:admin, FactoryBot.create(:admin)) }
14
+ end
15
+
16
+ def login_user
17
+ before(:each) { devise_login(:user, FactoryBot.create(:user)) }
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+ # https://github.com/plataformatec/devise/wiki/How-To:-Test-controllers-with-Rails-3-and-4-(and-RSpec)
3
+ RSpec.configure do |config|
4
+ [:controller, :view].each do |t|
5
+ config.with_options(type: t) do |c|
6
+ c.include Devise::Test::ControllerHelpers
7
+ c.include ControllerMacros
8
+ c.extend ControllerMacros
9
+ end
10
+ end
11
+
12
+ # For request spec
13
+ # https://github.com/plataformatec/devise/wiki/How-To:-Test-with-Capybara
14
+ # http://qiita.com/gakkie/items/40e5678af7b63afc14df
15
+ config.include Warden::Test::Helpers, type: :request
16
+ config.before :suite do
17
+ Warden.test_mode!
18
+ end
19
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ def assert_select_datetime_field(object, field, n = 5)
3
+ (1..n).each do |i|
4
+ assert_select "select##{object}_#{field}_#{i}i[name=?]", "#{object}[#{field}(#{i}i)]"
5
+ end
6
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+ module TimeMatchSupport
3
+ def localized_time_re(time_str)
4
+ Regexp.new(Regexp.escape(localize(Time.zone.parse(time_str))))
5
+ end
6
+ end
7
+
8
+ RSpec.configure do |config|
9
+ config.include TimeMatchSupport
10
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'attached_files/edit', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
8
+ let(:issue_comment) { FactoryBot.create(:issue_comment, issue: issue, user: user) }
9
+ let(:attached_file) { FactoryBot.create(:attached_file, issue_comment: issue_comment) }
10
+ before(:each) do
11
+ assign(:attached_file, attached_file)
12
+ end
13
+
14
+ it 'renders the edit attached_file form' do
15
+ render
16
+
17
+ assert_select 'form[action=?][method=?]', attached_file_path(attached_file), 'post' do
18
+ assert_select 'input#attached_file_id[name=?]', 'attached_file[id]'
19
+ assert_select 'select#attached_file_issue_comment_id[name=?]', 'attached_file[issue_comment_id]'
20
+ assert_select 'input#attached_file_url[name=?]', 'attached_file[url]'
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'attached_files/index', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
8
+ let(:issue_comment) { FactoryBot.create(:issue_comment, issue: issue, user: user) }
9
+ before(:each) do
10
+ assign(:attached_files, [
11
+ FactoryBot.create(:attached_file, issue_comment: issue_comment, url: 'attached_file_url_1'),
12
+ FactoryBot.create(:attached_file, issue_comment: issue_comment, url: 'attached_file_url_2'),
13
+ ])
14
+ end
15
+
16
+ it 'renders a list of attached_files' do
17
+ render
18
+ assert_select 'tr>td', text: issue_comment.title, count: 2
19
+ assert_select 'tr>td', text: 'attached_file_url_1', count: 1
20
+ assert_select 'tr>td', text: 'attached_file_url_2', count: 1
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'attached_files/new', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
8
+ let(:issue_comment) { FactoryBot.create(:issue_comment, issue: issue, user: user) }
9
+ let(:attached_file) { FactoryBot.build(:attached_file, issue_comment: issue_comment) }
10
+ before(:each) do
11
+ assign(:attached_file, attached_file)
12
+ end
13
+
14
+ it 'renders new attached_file form' do
15
+ render
16
+
17
+ assert_select 'form[action=?][method=?]', attached_files_path, 'post' do
18
+ assert_select 'input#attached_file_id[name=?]', 'attached_file[id]'
19
+ assert_select 'select#attached_file_issue_comment_id[name=?]', 'attached_file[issue_comment_id]'
20
+ assert_select 'input#attached_file_url[name=?]', 'attached_file[url]'
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'attached_files/show', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
8
+ let(:issue_comment) { FactoryBot.create(:issue_comment, issue: issue, user: user) }
9
+ let(:attached_file) { FactoryBot.create(:attached_file, issue_comment: issue_comment) }
10
+ before(:each) do
11
+ assign(:attached_file, attached_file)
12
+ end
13
+
14
+ it 'renders attributes in <p>' do
15
+ render
16
+ expect(rendered).to match(/1/)
17
+ expect(rendered).to match(/attached_file_url_1/)
18
+ end
19
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'issue_comments/edit', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
8
+ let(:issue_comment) { FactoryBot.create(:issue_comment, issue: issue, user: user) }
9
+ before(:each) do
10
+ assign(:issue_comment, issue_comment)
11
+ end
12
+
13
+ it 'renders the edit issue_comment form' do
14
+ render
15
+
16
+ assert_select 'form[action=?][method=?]', issue_comment_path(issue_comment), 'post' do
17
+ assert_select 'input#issue_comment_id[name=?]', 'issue_comment[id]'
18
+ assert_select 'select#issue_comment_issue_id[name=?]', 'issue_comment[issue_id]'
19
+ assert_select 'select#issue_comment_user_id[name=?]', 'issue_comment[user_id]'
20
+ assert_select 'textarea#issue_comment_description[name=?]', 'issue_comment[description]'
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'issue_comments/index', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
8
+ before(:each) do
9
+ assign(:issue_comments, [
10
+ FactoryBot.create(:issue_comment, issue: issue, user: user, description: 'issue_comment_description_1'),
11
+ FactoryBot.create(:issue_comment, issue: issue, user: user, description: 'issue_comment_description_2'),
12
+ ])
13
+ end
14
+
15
+ it 'renders a list of issue_comments' do
16
+ render
17
+ assert_select 'tr>td', text: 'issue1', count: 2
18
+ assert_select 'tr>td', text: 'user1@example.com', count: 2
19
+ assert_select 'tr>td', text: 'issue_comment_description_1', count: 1
20
+ assert_select 'tr>td', text: 'issue_comment_description_2', count: 1
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'issue_comments/new', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
8
+ let(:issue_comment) { FactoryBot.build(:issue_comment, issue: issue, user: user) }
9
+ before(:each) do
10
+ assign(:issue_comment, issue_comment)
11
+ end
12
+
13
+ it 'renders new issue_comment form' do
14
+ render
15
+
16
+ assert_select 'form[action=?][method=?]', issue_comments_path, 'post' do
17
+ assert_select 'input#issue_comment_id[name=?]', 'issue_comment[id]'
18
+ assert_select 'select#issue_comment_issue_id[name=?]', 'issue_comment[issue_id]'
19
+ assert_select 'select#issue_comment_user_id[name=?]', 'issue_comment[user_id]'
20
+ assert_select 'textarea#issue_comment_description[name=?]', 'issue_comment[description]'
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'issue_comments/show', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
8
+ let(:issue_comment) { FactoryBot.create(:issue_comment, issue: issue, user: user) }
9
+ before(:each) do
10
+ assign(:issue_comment, issue_comment)
11
+ end
12
+
13
+ it 'renders attributes in <p>' do
14
+ render
15
+ expect(rendered).to match(/issue1/)
16
+ expect(rendered).to match(/user1@example.com/)
17
+ expect(rendered).to match(/issue_comment_description_1/)
18
+ end
19
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'issues/edit', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
8
+ before(:each) do
9
+ assign(:issue, issue)
10
+ end
11
+
12
+ it 'renders the edit issue form' do
13
+ render
14
+
15
+ assert_select 'form[action=?][method=?]', issue_path(issue), 'post' do
16
+ assert_select 'select#issue_project_id[name=?]', 'issue[project_id]'
17
+ assert_select 'input#issue_title[name=?]', 'issue[title]'
18
+ assert_select 'select#issue_status[name=?]', 'issue[status]'
19
+ assert_select 'select#issue_creator_id[name=?]', 'issue[creator_id]'
20
+ assert_select 'select#issue_assignee_id[name=?]', 'issue[assignee_id]'
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'issues/index', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ before(:each) do
8
+ assign(:issues, [
9
+ FactoryBot.create(:issue, project: project, creator: user, title: 'issue1'),
10
+ FactoryBot.create(:issue, project: project, creator: user, title: 'issue2'),
11
+ ])
12
+ end
13
+
14
+ it 'renders a list of issues' do
15
+ render
16
+ assert_select 'tr>td', text: 'project1', count: 2
17
+ assert_select 'tr>td', text: 'issue1', count: 1
18
+ assert_select 'tr>td', text: 'issue2', count: 1
19
+ assert_select 'tr>td', text: 'Draft', count: 2
20
+ assert_select 'tr>td', text: 'user1@example.com', count: 2
21
+ assert_select 'tr>td', text: 'user1@example.com', count: 2
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'issues/new', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:issue) { FactoryBot.build(:issue, project: project, creator: user) }
8
+ before(:each) do
9
+ assign(:issue, issue)
10
+ end
11
+
12
+ it 'renders new issue form' do
13
+ render
14
+
15
+ assert_select 'form[action=?][method=?]', issues_path, 'post' do
16
+ assert_select 'select#issue_project_id[name=?]', 'issue[project_id]'
17
+ assert_select 'input#issue_title[name=?]', 'issue[title]'
18
+ assert_select 'select#issue_status[name=?]', 'issue[status]'
19
+ assert_select 'select#issue_creator_id[name=?]', 'issue[creator_id]'
20
+ assert_select 'select#issue_assignee_id[name=?]', 'issue[assignee_id]'
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'issues/show', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:issue) { FactoryBot.create(:issue, project: project, creator: user) }
8
+ before(:each) do
9
+ assign(:issue, issue)
10
+ end
11
+
12
+ it 'renders attributes in <p>' do
13
+ render
14
+ expect(rendered).to match(/project1/)
15
+ expect(rendered).to match(/issue1/)
16
+ expect(rendered).to match(/Draft/)
17
+ expect(rendered).to match(/user1@example.com/)
18
+ expect(rendered).to match(/user1@example.com/)
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'phases/edit', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:phase) { FactoryBot.create(:phase, project: project) }
8
+ before(:each) do
9
+ assign(:phase, phase)
10
+ end
11
+
12
+ it 'renders the edit phase form' do
13
+ render
14
+
15
+ assert_select 'form[action=?][method=?]', phase_path(phase), 'post' do
16
+ assert_select 'select#phase_project_id[name=?]', 'phase[project_id]'
17
+ assert_select 'input#phase_name[name=?]', 'phase[name]'
18
+ assert_select_datetime_field :phase, :started_at
19
+ assert_select_datetime_field :phase, :finished_at
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'phases/index', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ before(:each) do
8
+ assign(:phases, [
9
+ FactoryBot.create(:phase, project: project, name: 'phase1'),
10
+ FactoryBot.create(:phase, project: project, name: 'phase2'),
11
+ ])
12
+ end
13
+
14
+ it 'renders a list of phases' do
15
+ render
16
+ assert_select 'tr>td', text: 'project1', count: 2
17
+ assert_select 'tr>td', text: 'phase1', count: 1
18
+ assert_select 'tr>td', text: 'phase2', count: 1
19
+ assert_select 'tr>td', text: localize(Time.zone.parse('2020-01-29 02:50:00 +09:00')), count: 2
20
+ assert_select 'tr>td', text: localize(Time.zone.parse('2020-01-29 16:40:00 +09:00')), count: 2
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'phases/new', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:phase) { FactoryBot.build(:phase, project: project) }
8
+ before(:each) do
9
+ assign(:phase, phase)
10
+ end
11
+
12
+ it 'renders new phase form' do
13
+ render
14
+
15
+ assert_select 'form[action=?][method=?]', phases_path, 'post' do
16
+ assert_select 'select#phase_project_id[name=?]', 'phase[project_id]'
17
+ assert_select 'input#phase_name[name=?]', 'phase[name]'
18
+ assert_select_datetime_field :phase, :started_at
19
+ assert_select_datetime_field :phase, :finished_at
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'phases/show', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:phase) { FactoryBot.create(:phase, project: project) }
8
+ before(:each) do
9
+ assign(:phase, phase)
10
+ end
11
+
12
+ it 'renders attributes in <p>' do
13
+ render
14
+ expect(rendered).to match(/project1/)
15
+ expect(rendered).to match(/phase1/)
16
+ expect(rendered).to match(localized_time_re('2020-01-29 02:50:00 +09:00'))
17
+ expect(rendered).to match(localized_time_re('2020-01-29 16:40:00 +09:00'))
18
+ end
19
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe 'project_assignments/edit', type: :view do
5
+ let(:user) { FactoryBot.create(:user) }
6
+ let(:project) { FactoryBot.create(:project, owner: user) }
7
+ let(:project_assignment) { FactoryBot.create(:project_assignment, project: project, user: user) }
8
+ before(:each) do
9
+ assign(:project_assignment, project_assignment)
10
+ end
11
+
12
+ it 'renders the edit project_assignment form' do
13
+ render
14
+
15
+ assert_select 'form[action=?][method=?]', project_assignment_path(project_assignment), 'post' do
16
+ assert_select 'input#project_assignment_id[name=?]', 'project_assignment[id]'
17
+ assert_select 'select#project_assignment_project_id[name=?]', 'project_assignment[project_id]'
18
+ assert_select 'select#project_assignment_user_id[name=?]', 'project_assignment[user_id]'
19
+ assert_select_datetime_field :project_assignment, :started_at
20
+ assert_select_datetime_field :project_assignment, :finished_at
21
+ end
22
+ end
23
+ end