approval 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/config/locales/en.yml +21 -0
  3. data/config/locales/ja.yml +21 -0
  4. data/lib/approval/version.rb +1 -1
  5. metadata +5 -166
  6. data/Rakefile +0 -12
  7. data/spec/lib/config_spec.rb +0 -10
  8. data/spec/lib/version_spec.rb +0 -7
  9. data/spec/models/book_spec.rb +0 -30
  10. data/spec/models/comment_spec.rb +0 -9
  11. data/spec/models/item_spec.rb +0 -114
  12. data/spec/models/request_form/base_spec.rb +0 -54
  13. data/spec/models/request_form/create_spec.rb +0 -23
  14. data/spec/models/request_form/destroy_spec.rb +0 -23
  15. data/spec/models/request_form/update_spec.rb +0 -33
  16. data/spec/models/request_form_spec.rb +0 -4
  17. data/spec/models/request_spec.rb +0 -39
  18. data/spec/models/respond_form/approve_spec.rb +0 -4
  19. data/spec/models/respond_form/base_spec.rb +0 -84
  20. data/spec/models/respond_form/cancel_spec.rb +0 -4
  21. data/spec/models/respond_form/reject_spec.rb +0 -4
  22. data/spec/models/respond_form_spec.rb +0 -4
  23. data/spec/models/user_spec.rb +0 -48
  24. data/spec/rails/rails-5.1.2/README.md +0 -24
  25. data/spec/rails/rails-5.1.2/Rakefile +0 -6
  26. data/spec/rails/rails-5.1.2/app/assets/config/manifest.js +0 -3
  27. data/spec/rails/rails-5.1.2/app/assets/javascripts/application.js +0 -15
  28. data/spec/rails/rails-5.1.2/app/assets/javascripts/cable.js +0 -13
  29. data/spec/rails/rails-5.1.2/app/assets/stylesheets/application.css +0 -15
  30. data/spec/rails/rails-5.1.2/app/channels/application_cable/channel.rb +0 -4
  31. data/spec/rails/rails-5.1.2/app/channels/application_cable/connection.rb +0 -4
  32. data/spec/rails/rails-5.1.2/app/controllers/application_controller.rb +0 -3
  33. data/spec/rails/rails-5.1.2/app/helpers/application_helper.rb +0 -2
  34. data/spec/rails/rails-5.1.2/app/jobs/application_job.rb +0 -2
  35. data/spec/rails/rails-5.1.2/app/mailers/application_mailer.rb +0 -4
  36. data/spec/rails/rails-5.1.2/app/models/application_record.rb +0 -3
  37. data/spec/rails/rails-5.1.2/app/models/book.rb +0 -3
  38. data/spec/rails/rails-5.1.2/app/models/user.rb +0 -2
  39. data/spec/rails/rails-5.1.2/app/views/layouts/application.html.erb +0 -14
  40. data/spec/rails/rails-5.1.2/app/views/layouts/mailer.html.erb +0 -13
  41. data/spec/rails/rails-5.1.2/app/views/layouts/mailer.text.erb +0 -1
  42. data/spec/rails/rails-5.1.2/bin/bundle +0 -3
  43. data/spec/rails/rails-5.1.2/bin/rails +0 -4
  44. data/spec/rails/rails-5.1.2/bin/rake +0 -4
  45. data/spec/rails/rails-5.1.2/bin/setup +0 -38
  46. data/spec/rails/rails-5.1.2/bin/update +0 -29
  47. data/spec/rails/rails-5.1.2/bin/yarn +0 -11
  48. data/spec/rails/rails-5.1.2/config/application.rb +0 -31
  49. data/spec/rails/rails-5.1.2/config/boot.rb +0 -3
  50. data/spec/rails/rails-5.1.2/config/cable.yml +0 -10
  51. data/spec/rails/rails-5.1.2/config/database.yml +0 -25
  52. data/spec/rails/rails-5.1.2/config/environment.rb +0 -8
  53. data/spec/rails/rails-5.1.2/config/environments/development.rb +0 -47
  54. data/spec/rails/rails-5.1.2/config/environments/production.rb +0 -83
  55. data/spec/rails/rails-5.1.2/config/environments/test.rb +0 -42
  56. data/spec/rails/rails-5.1.2/config/initializers/application_controller_renderer.rb +0 -6
  57. data/spec/rails/rails-5.1.2/config/initializers/approval.rb +0 -10
  58. data/spec/rails/rails-5.1.2/config/initializers/backtrace_silencers.rb +0 -7
  59. data/spec/rails/rails-5.1.2/config/initializers/cookies_serializer.rb +0 -5
  60. data/spec/rails/rails-5.1.2/config/initializers/filter_parameter_logging.rb +0 -4
  61. data/spec/rails/rails-5.1.2/config/initializers/inflections.rb +0 -16
  62. data/spec/rails/rails-5.1.2/config/initializers/mime_types.rb +0 -4
  63. data/spec/rails/rails-5.1.2/config/initializers/wrap_parameters.rb +0 -14
  64. data/spec/rails/rails-5.1.2/config/locales/en.yml +0 -33
  65. data/spec/rails/rails-5.1.2/config/puma.rb +0 -56
  66. data/spec/rails/rails-5.1.2/config/routes.rb +0 -3
  67. data/spec/rails/rails-5.1.2/config/secrets.yml +0 -32
  68. data/spec/rails/rails-5.1.2/config.ru +0 -5
  69. data/spec/rails/rails-5.1.2/db/migrate/20170816102906_create_approval_requests.rb +0 -19
  70. data/spec/rails/rails-5.1.2/db/migrate/20170816102907_create_approval_comments.rb +0 -14
  71. data/spec/rails/rails-5.1.2/db/migrate/20170816102908_create_approval_items.rb +0 -17
  72. data/spec/rails/rails-5.1.2/db/migrate/20170816102909_create_users.rb +0 -9
  73. data/spec/rails/rails-5.1.2/db/migrate/20170816102910_create_books.rb +0 -9
  74. data/spec/rails/rails-5.1.2/db/schema.rb +0 -64
  75. data/spec/rails/rails-5.1.2/db/seeds.rb +0 -7
  76. data/spec/rails/rails-5.1.2/db/test.sqlite3 +0 -0
  77. data/spec/rails/rails-5.1.2/log/test.log +0 -695
  78. data/spec/rails/rails-5.1.2/package.json +0 -5
  79. data/spec/rails/rails-5.1.2/public/404.html +0 -67
  80. data/spec/rails/rails-5.1.2/public/422.html +0 -67
  81. data/spec/rails/rails-5.1.2/public/500.html +0 -66
  82. data/spec/rails/rails-5.1.2/public/apple-touch-icon-precomposed.png +0 -0
  83. data/spec/rails/rails-5.1.2/public/apple-touch-icon.png +0 -0
  84. data/spec/rails/rails-5.1.2/public/favicon.ico +0 -0
  85. data/spec/rails/rails-5.1.2/public/robots.txt +0 -1
  86. data/spec/spec_helper.rb +0 -117
  87. data/spec/support/rails_template.rb +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bdfa61c1f1945bd2677ecd10f0cc413f53e65bf5
4
- data.tar.gz: 60a29db902d07538997dd6139f9fbd9bf836504f
3
+ metadata.gz: ce9e6ae5e6031d1da9f899d9467b37afb728e911
4
+ data.tar.gz: cd78afcfaac094386fbb73b3bc668f8283dc16cd
5
5
  SHA512:
6
- metadata.gz: 2f8aae418dee77f7e12069332db30b01f181836f4a1d835fc8fe7dff729d154fc7b26b878179a836e08e2401435ad6a7af337a9367dd068ceb6d8a019e05f6bc
7
- data.tar.gz: '09e16855758a24c162fc96320e353b02b53afaf433419ac68c36e4cf2eb0411129b3ae1f6bc770c236392f2d2bcd657dfcaf149d27f460708d897b192b3f4a62'
6
+ metadata.gz: 911af0cf449bdb33b874a2b29baa87fcc125150a05c8da0106a7d4039766bb1e2e75acfd3b218fb9d5e9107db411789207b3166421f9a7efd8160b0e439e37a1
7
+ data.tar.gz: 8d3ef8e76cf8efd32fb13593ddec2b7cdc071b44fcf5c7786c4e816d45459ddd7dfcfb224a40ce1d45e97866330b5576c62ae58d420eba4482e0bc1823ad760a
@@ -0,0 +1,21 @@
1
+ en:
2
+ errors:
3
+ messages:
4
+ already_performed: "This request has already performed."
5
+ cannot_respond_to_own_request: "cannot respond to own request."
6
+
7
+ attributes:
8
+ reason: "Reason"
9
+
10
+ activerecord:
11
+ model:
12
+ approval/request: "Request"
13
+ attributes:
14
+ approval/request:
15
+ request_user: "Requested user"
16
+ respond_user: "Responded user"
17
+ state: "State"
18
+ requested_at: "Requested at"
19
+ cancelled_at: "Cancelled at"
20
+ approved_at: "Approved at"
21
+ rejected_at: "Rejected at"
@@ -0,0 +1,21 @@
1
+ ja:
2
+ errors:
3
+ messages:
4
+ already_performed: "申請は既に実行されています"
5
+ cannot_respond_to_own_request: "は自身の申請のため対応できません"
6
+
7
+ attributes:
8
+ reason: 理由
9
+
10
+ activerecord:
11
+ model:
12
+ approval/request: 申請
13
+ attributes:
14
+ approval/request:
15
+ request_user: 申請者
16
+ respond_user: 対応者
17
+ state: 状態
18
+ requested_at: 申請日時
19
+ cancelled_at: 取消日時
20
+ approved_at: 承認日時
21
+ rejected_at: 却下日時
@@ -1,3 +1,3 @@
1
1
  module Approval
2
- VERSION = "0.3.2".freeze
2
+ VERSION = "0.3.3".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: approval
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshiyuki Hirano
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-16 00:00:00.000000000 Z
11
+ date: 2017-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -32,7 +32,8 @@ extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
34
  - README.md
35
- - Rakefile
35
+ - config/locales/en.yml
36
+ - config/locales/ja.yml
36
37
  - lib/approval.rb
37
38
  - lib/approval/config.rb
38
39
  - lib/approval/engine.rb
@@ -59,87 +60,6 @@ files:
59
60
  - lib/generators/approval/templates/create_approval_items.rb.tt
60
61
  - lib/generators/approval/templates/create_approval_requests.rb.tt
61
62
  - lib/generators/approval/templates/initializer.rb
62
- - spec/lib/config_spec.rb
63
- - spec/lib/version_spec.rb
64
- - spec/models/book_spec.rb
65
- - spec/models/comment_spec.rb
66
- - spec/models/item_spec.rb
67
- - spec/models/request_form/base_spec.rb
68
- - spec/models/request_form/create_spec.rb
69
- - spec/models/request_form/destroy_spec.rb
70
- - spec/models/request_form/update_spec.rb
71
- - spec/models/request_form_spec.rb
72
- - spec/models/request_spec.rb
73
- - spec/models/respond_form/approve_spec.rb
74
- - spec/models/respond_form/base_spec.rb
75
- - spec/models/respond_form/cancel_spec.rb
76
- - spec/models/respond_form/reject_spec.rb
77
- - spec/models/respond_form_spec.rb
78
- - spec/models/user_spec.rb
79
- - spec/rails/rails-5.1.2/README.md
80
- - spec/rails/rails-5.1.2/Rakefile
81
- - spec/rails/rails-5.1.2/app/assets/config/manifest.js
82
- - spec/rails/rails-5.1.2/app/assets/javascripts/application.js
83
- - spec/rails/rails-5.1.2/app/assets/javascripts/cable.js
84
- - spec/rails/rails-5.1.2/app/assets/stylesheets/application.css
85
- - spec/rails/rails-5.1.2/app/channels/application_cable/channel.rb
86
- - spec/rails/rails-5.1.2/app/channels/application_cable/connection.rb
87
- - spec/rails/rails-5.1.2/app/controllers/application_controller.rb
88
- - spec/rails/rails-5.1.2/app/helpers/application_helper.rb
89
- - spec/rails/rails-5.1.2/app/jobs/application_job.rb
90
- - spec/rails/rails-5.1.2/app/mailers/application_mailer.rb
91
- - spec/rails/rails-5.1.2/app/models/application_record.rb
92
- - spec/rails/rails-5.1.2/app/models/book.rb
93
- - spec/rails/rails-5.1.2/app/models/user.rb
94
- - spec/rails/rails-5.1.2/app/views/layouts/application.html.erb
95
- - spec/rails/rails-5.1.2/app/views/layouts/mailer.html.erb
96
- - spec/rails/rails-5.1.2/app/views/layouts/mailer.text.erb
97
- - spec/rails/rails-5.1.2/bin/bundle
98
- - spec/rails/rails-5.1.2/bin/rails
99
- - spec/rails/rails-5.1.2/bin/rake
100
- - spec/rails/rails-5.1.2/bin/setup
101
- - spec/rails/rails-5.1.2/bin/update
102
- - spec/rails/rails-5.1.2/bin/yarn
103
- - spec/rails/rails-5.1.2/config.ru
104
- - spec/rails/rails-5.1.2/config/application.rb
105
- - spec/rails/rails-5.1.2/config/boot.rb
106
- - spec/rails/rails-5.1.2/config/cable.yml
107
- - spec/rails/rails-5.1.2/config/database.yml
108
- - spec/rails/rails-5.1.2/config/environment.rb
109
- - spec/rails/rails-5.1.2/config/environments/development.rb
110
- - spec/rails/rails-5.1.2/config/environments/production.rb
111
- - spec/rails/rails-5.1.2/config/environments/test.rb
112
- - spec/rails/rails-5.1.2/config/initializers/application_controller_renderer.rb
113
- - spec/rails/rails-5.1.2/config/initializers/approval.rb
114
- - spec/rails/rails-5.1.2/config/initializers/backtrace_silencers.rb
115
- - spec/rails/rails-5.1.2/config/initializers/cookies_serializer.rb
116
- - spec/rails/rails-5.1.2/config/initializers/filter_parameter_logging.rb
117
- - spec/rails/rails-5.1.2/config/initializers/inflections.rb
118
- - spec/rails/rails-5.1.2/config/initializers/mime_types.rb
119
- - spec/rails/rails-5.1.2/config/initializers/wrap_parameters.rb
120
- - spec/rails/rails-5.1.2/config/locales/en.yml
121
- - spec/rails/rails-5.1.2/config/puma.rb
122
- - spec/rails/rails-5.1.2/config/routes.rb
123
- - spec/rails/rails-5.1.2/config/secrets.yml
124
- - spec/rails/rails-5.1.2/db/migrate/20170816102906_create_approval_requests.rb
125
- - spec/rails/rails-5.1.2/db/migrate/20170816102907_create_approval_comments.rb
126
- - spec/rails/rails-5.1.2/db/migrate/20170816102908_create_approval_items.rb
127
- - spec/rails/rails-5.1.2/db/migrate/20170816102909_create_users.rb
128
- - spec/rails/rails-5.1.2/db/migrate/20170816102910_create_books.rb
129
- - spec/rails/rails-5.1.2/db/schema.rb
130
- - spec/rails/rails-5.1.2/db/seeds.rb
131
- - spec/rails/rails-5.1.2/db/test.sqlite3
132
- - spec/rails/rails-5.1.2/log/test.log
133
- - spec/rails/rails-5.1.2/package.json
134
- - spec/rails/rails-5.1.2/public/404.html
135
- - spec/rails/rails-5.1.2/public/422.html
136
- - spec/rails/rails-5.1.2/public/500.html
137
- - spec/rails/rails-5.1.2/public/apple-touch-icon-precomposed.png
138
- - spec/rails/rails-5.1.2/public/apple-touch-icon.png
139
- - spec/rails/rails-5.1.2/public/favicon.ico
140
- - spec/rails/rails-5.1.2/public/robots.txt
141
- - spec/spec_helper.rb
142
- - spec/support/rails_template.rb
143
63
  homepage: https://github.com/yhirano55/approval
144
64
  licenses:
145
65
  - MIT
@@ -164,85 +84,4 @@ rubygems_version: 2.6.10
164
84
  signing_key:
165
85
  specification_version: 4
166
86
  summary: Approval flow for Rails
167
- test_files:
168
- - spec/lib/config_spec.rb
169
- - spec/lib/version_spec.rb
170
- - spec/models/book_spec.rb
171
- - spec/models/comment_spec.rb
172
- - spec/models/item_spec.rb
173
- - spec/models/request_form/base_spec.rb
174
- - spec/models/request_form/create_spec.rb
175
- - spec/models/request_form/destroy_spec.rb
176
- - spec/models/request_form/update_spec.rb
177
- - spec/models/request_form_spec.rb
178
- - spec/models/request_spec.rb
179
- - spec/models/respond_form/approve_spec.rb
180
- - spec/models/respond_form/base_spec.rb
181
- - spec/models/respond_form/cancel_spec.rb
182
- - spec/models/respond_form/reject_spec.rb
183
- - spec/models/respond_form_spec.rb
184
- - spec/models/user_spec.rb
185
- - spec/rails/rails-5.1.2/app/assets/config/manifest.js
186
- - spec/rails/rails-5.1.2/app/assets/javascripts/application.js
187
- - spec/rails/rails-5.1.2/app/assets/javascripts/cable.js
188
- - spec/rails/rails-5.1.2/app/assets/stylesheets/application.css
189
- - spec/rails/rails-5.1.2/app/channels/application_cable/channel.rb
190
- - spec/rails/rails-5.1.2/app/channels/application_cable/connection.rb
191
- - spec/rails/rails-5.1.2/app/controllers/application_controller.rb
192
- - spec/rails/rails-5.1.2/app/helpers/application_helper.rb
193
- - spec/rails/rails-5.1.2/app/jobs/application_job.rb
194
- - spec/rails/rails-5.1.2/app/mailers/application_mailer.rb
195
- - spec/rails/rails-5.1.2/app/models/application_record.rb
196
- - spec/rails/rails-5.1.2/app/models/book.rb
197
- - spec/rails/rails-5.1.2/app/models/user.rb
198
- - spec/rails/rails-5.1.2/app/views/layouts/application.html.erb
199
- - spec/rails/rails-5.1.2/app/views/layouts/mailer.html.erb
200
- - spec/rails/rails-5.1.2/app/views/layouts/mailer.text.erb
201
- - spec/rails/rails-5.1.2/bin/bundle
202
- - spec/rails/rails-5.1.2/bin/rails
203
- - spec/rails/rails-5.1.2/bin/rake
204
- - spec/rails/rails-5.1.2/bin/setup
205
- - spec/rails/rails-5.1.2/bin/update
206
- - spec/rails/rails-5.1.2/bin/yarn
207
- - spec/rails/rails-5.1.2/config/application.rb
208
- - spec/rails/rails-5.1.2/config/boot.rb
209
- - spec/rails/rails-5.1.2/config/cable.yml
210
- - spec/rails/rails-5.1.2/config/database.yml
211
- - spec/rails/rails-5.1.2/config/environment.rb
212
- - spec/rails/rails-5.1.2/config/environments/development.rb
213
- - spec/rails/rails-5.1.2/config/environments/production.rb
214
- - spec/rails/rails-5.1.2/config/environments/test.rb
215
- - spec/rails/rails-5.1.2/config/initializers/application_controller_renderer.rb
216
- - spec/rails/rails-5.1.2/config/initializers/approval.rb
217
- - spec/rails/rails-5.1.2/config/initializers/backtrace_silencers.rb
218
- - spec/rails/rails-5.1.2/config/initializers/cookies_serializer.rb
219
- - spec/rails/rails-5.1.2/config/initializers/filter_parameter_logging.rb
220
- - spec/rails/rails-5.1.2/config/initializers/inflections.rb
221
- - spec/rails/rails-5.1.2/config/initializers/mime_types.rb
222
- - spec/rails/rails-5.1.2/config/initializers/wrap_parameters.rb
223
- - spec/rails/rails-5.1.2/config/locales/en.yml
224
- - spec/rails/rails-5.1.2/config/puma.rb
225
- - spec/rails/rails-5.1.2/config/routes.rb
226
- - spec/rails/rails-5.1.2/config/secrets.yml
227
- - spec/rails/rails-5.1.2/config.ru
228
- - spec/rails/rails-5.1.2/db/migrate/20170816102906_create_approval_requests.rb
229
- - spec/rails/rails-5.1.2/db/migrate/20170816102907_create_approval_comments.rb
230
- - spec/rails/rails-5.1.2/db/migrate/20170816102908_create_approval_items.rb
231
- - spec/rails/rails-5.1.2/db/migrate/20170816102909_create_users.rb
232
- - spec/rails/rails-5.1.2/db/migrate/20170816102910_create_books.rb
233
- - spec/rails/rails-5.1.2/db/schema.rb
234
- - spec/rails/rails-5.1.2/db/seeds.rb
235
- - spec/rails/rails-5.1.2/db/test.sqlite3
236
- - spec/rails/rails-5.1.2/log/test.log
237
- - spec/rails/rails-5.1.2/package.json
238
- - spec/rails/rails-5.1.2/public/404.html
239
- - spec/rails/rails-5.1.2/public/422.html
240
- - spec/rails/rails-5.1.2/public/500.html
241
- - spec/rails/rails-5.1.2/public/apple-touch-icon-precomposed.png
242
- - spec/rails/rails-5.1.2/public/apple-touch-icon.png
243
- - spec/rails/rails-5.1.2/public/favicon.ico
244
- - spec/rails/rails-5.1.2/public/robots.txt
245
- - spec/rails/rails-5.1.2/Rakefile
246
- - spec/rails/rails-5.1.2/README.md
247
- - spec/spec_helper.rb
248
- - spec/support/rails_template.rb
87
+ test_files: []
data/Rakefile DELETED
@@ -1,12 +0,0 @@
1
- require "bundler/gem_tasks"
2
-
3
- desc "Creates a test rails app for the specs to run against"
4
- task :setup do
5
- require "rails/version"
6
- system("mkdir spec/rails") unless File.exist?("spec/rails")
7
- system "bundle exec rails new spec/rails/rails-#{Rails::VERSION::STRING} -m spec/support/rails_template.rb -T -B --skip-spring --skip-listen --skip-sprockets"
8
- end
9
-
10
- require "rspec/core/rake_task"
11
- RSpec::Core::RakeTask.new(:spec)
12
- task default: :spec
@@ -1,10 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Approval::Config do
4
- let(:config) { described_class.new }
5
-
6
- describe "#permit_to_respond_to_own_request?" do
7
- subject { config.permit_to_respond_to_own_request? }
8
- it { is_expected.to eq false }
9
- end
10
- end
@@ -1,7 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Approval do
4
- it "has a version number" do
5
- expect(Approval::VERSION).not_to be nil
6
- end
7
- end
@@ -1,30 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Book, type: :model do
4
- it { is_expected.to have_many(:approval_items).class_name("Approval::Item") }
5
-
6
- describe ".assign_ignore_fields" do
7
- subject { described_class.assign_ignore_fields(ignore_fields) }
8
-
9
- context "when ignore_fields are duplicated symbolized value" do
10
- let(:ignore_fields) { %i[id id created_at updated_at] }
11
- it { is_expected.to match_array %w[id created_at updated_at] }
12
- end
13
- end
14
-
15
- describe "#create_params_for_approval" do
16
- let(:book) { build :book }
17
- let(:result) { book.attributes.except("id", "created_at", "updated_at") }
18
-
19
- subject { book.create_params_for_approval }
20
- it { is_expected.to eq result }
21
- end
22
-
23
- describe "#update_params_for_approval" do
24
- let(:book) { create(:book).tap { |book| book.name = "changed name" } }
25
- let(:result) { { "name" => "changed name" } }
26
-
27
- subject { book.update_params_for_approval }
28
- it { is_expected.to eq result }
29
- end
30
- end
@@ -1,9 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Approval::Comment, type: :model do
4
- it { is_expected.to belong_to(:request).class_name("Approval::Request").inverse_of(:comments) }
5
- it { is_expected.to belong_to(:user).class_name("User") }
6
-
7
- it { is_expected.to validate_presence_of(:content) }
8
- it { is_expected.to validate_length_of(:content).is_at_most(Approval.config.comment_maximum) }
9
- end
@@ -1,114 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Approval::Item, type: :model do
4
- describe "Association" do
5
- it { is_expected.to belong_to(:request).class_name("Approval::Request").inverse_of(:items) }
6
- it { is_expected.to belong_to(:resource) }
7
- end
8
-
9
- describe "Association" do
10
- it { is_expected.to validate_presence_of(:resource_type) }
11
- it { is_expected.to validate_presence_of(:event) }
12
- it { is_expected.to validate_inclusion_of(:event).in_array(described_class::EVENTS) }
13
-
14
- context "when event is create" do
15
- subject { build :item, :update }
16
- it { is_expected.to validate_presence_of(:event) }
17
- end
18
- end
19
-
20
- describe "#create_event?" do
21
- subject { item.create_event? }
22
-
23
- context "when event is create" do
24
- let(:item) { build :item, :create }
25
- it { is_expected.to eq true }
26
- end
27
-
28
- context "when event is update" do
29
- let(:item) { build :item, :update }
30
- it { is_expected.to eq false }
31
- end
32
-
33
- context "when event is destroy" do
34
- let(:item) { build :item, :destroy }
35
- it { is_expected.to eq false }
36
- end
37
- end
38
-
39
- describe "#update_event?" do
40
- subject { item.update_event? }
41
-
42
- context "when event is create" do
43
- let(:item) { build :item, :create }
44
- it { is_expected.to eq false }
45
- end
46
-
47
- context "when event is update" do
48
- let(:item) { build :item, :update }
49
- it { is_expected.to eq true }
50
- end
51
-
52
- context "when event is destroy" do
53
- let(:item) { build :item, :destroy }
54
- it { is_expected.to eq false }
55
- end
56
- end
57
-
58
- describe "#destroy_event?" do
59
- subject { item.destroy_event? }
60
-
61
- context "when event is create" do
62
- let(:item) { build :item, :create }
63
- it { is_expected.to eq false }
64
- end
65
-
66
- context "when event is update" do
67
- let(:item) { build :item, :update }
68
- it { is_expected.to eq false }
69
- end
70
-
71
- context "when event is destroy" do
72
- let(:item) { build :item, :destroy }
73
- it { is_expected.to eq true }
74
- end
75
- end
76
-
77
- describe "#apply" do
78
- let(:request) { build :request, :pending }
79
- let(:comment) { build :comment, request: request, user: request.request_user }
80
- let(:item) { build :item, event, request: request }
81
-
82
- before do
83
- request.comments << comment
84
- request.items << item
85
- request.save!
86
- end
87
-
88
- subject { item.apply }
89
-
90
- context "when event is create" do
91
- let(:event) { :create }
92
-
93
- it "creates book" do
94
- expect { subject }.to change { Book.count }.by(1)
95
- end
96
- end
97
-
98
- context "when event is update" do
99
- let(:event) { :update }
100
-
101
- it "updates book" do
102
- expect { subject }.to change { Book.first.updated_at }
103
- end
104
- end
105
-
106
- context "when event is destroy" do
107
- let(:event) { :destroy }
108
-
109
- it "destroys book" do
110
- expect { subject }.to change { Book.count }.by(-1)
111
- end
112
- end
113
- end
114
- end
@@ -1,54 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Approval::RequestForm::Base, type: :model do
4
- let(:form) { described_class.new(user: user, reason: reason, records: records) }
5
-
6
- describe "Validation" do
7
- let(:user) { create :user }
8
- let(:reason) { "reason" }
9
- let(:records) { build :book }
10
-
11
- subject { form }
12
-
13
- it { is_expected.to validate_presence_of(:user) }
14
- it { is_expected.to validate_presence_of(:reason) }
15
- it { is_expected.to validate_length_of(:reason).is_at_most(Approval.config.comment_maximum) }
16
- it { is_expected.to validate_presence_of(:records) }
17
- end
18
-
19
- describe "#save" do
20
- context "when invalid" do
21
- let(:user) { nil }
22
- let(:reason) { nil }
23
- let(:records) { nil }
24
-
25
- it { expect(form.save).to eq false }
26
- end
27
-
28
- context "when valid" do
29
- let(:user) { create :user }
30
- let(:reason) { "reason" }
31
- let(:records) { build :book }
32
-
33
- it { expect { form.save }.to raise_error(NotImplementedError) }
34
- end
35
- end
36
-
37
- describe "#save!" do
38
- context "when invalid" do
39
- let(:user) { nil }
40
- let(:reason) { nil }
41
- let(:records) { nil }
42
-
43
- it { expect { form.save! }.to raise_error(::ActiveRecord::RecordInvalid) }
44
- end
45
-
46
- context "when valid" do
47
- let(:user) { create :user }
48
- let(:reason) { "reason" }
49
- let(:records) { build :book }
50
-
51
- it { expect { form.save! }.to raise_error(NotImplementedError) }
52
- end
53
- end
54
- end
@@ -1,23 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Approval::RequestForm::Create do
4
- describe "#save" do
5
- let(:user) { create :user }
6
- let(:reason) { "reason" }
7
- let(:form) { described_class.new(user: user, reason: reason, records: records) }
8
-
9
- subject { form.save }
10
-
11
- context "when records is single" do
12
- let(:records) { build :book }
13
- it { expect { subject }.not_to raise_error }
14
- it { expect { subject }.to change { Approval::Item.count }.from(0).to(1) }
15
- end
16
-
17
- context "when records is multiple" do
18
- let(:records) { build_list :book, 3 }
19
- it { expect { subject }.not_to raise_error }
20
- it { expect { subject }.to change { Approval::Item.count }.from(0).to(3) }
21
- end
22
- end
23
- end
@@ -1,23 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Approval::RequestForm::Destroy do
4
- describe "#save" do
5
- let(:user) { create :user }
6
- let(:reason) { "reason" }
7
- let(:form) { described_class.new(user: user, reason: reason, records: records) }
8
-
9
- subject { form.save }
10
-
11
- context "when records is single" do
12
- let(:records) { create :book }
13
- it { expect { subject }.not_to raise_error }
14
- it { expect { subject }.to change { Approval::Item.count }.from(0).to(1) }
15
- end
16
-
17
- context "when records is multiple" do
18
- let(:records) { create_list :book, 3 }
19
- it { expect { subject }.not_to raise_error }
20
- it { expect { subject }.to change { Approval::Item.count }.from(0).to(3) }
21
- end
22
- end
23
- end
@@ -1,33 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Approval::RequestForm::Update do
4
- describe "#save" do
5
- let(:user) { create :user }
6
- let(:reason) { "reason" }
7
- let(:form) { described_class.new(user: user, reason: reason, records: records) }
8
-
9
- subject { form.save }
10
-
11
- context "when records is single" do
12
- let(:records) do
13
- book = create(:book)
14
- book.name = "changed name"
15
- book
16
- end
17
-
18
- it { expect { subject }.not_to raise_error }
19
- it { expect { subject }.to change { Approval::Item.count }.from(0).to(1) }
20
- end
21
-
22
- context "when records is multiple" do
23
- let(:records) do
24
- books = create_list(:book, 3)
25
- books.map.with_index { |book, i| book.name = "changed name #{i}" }
26
- books
27
- end
28
-
29
- it { expect { subject }.not_to raise_error }
30
- it { expect { subject }.to change { Approval::Item.count }.from(0).to(3) }
31
- end
32
- end
33
- end
@@ -1,4 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Approval::RequestForm do
4
- end
@@ -1,39 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Approval::Request, type: :model do
4
- describe "Association" do
5
- it { is_expected.to belong_to(:request_user).class_name("User") }
6
- it { is_expected.to belong_to(:respond_user).class_name("User") }
7
- it { is_expected.to have_many(:comments).class_name("::Approval::Comment").dependent(:destroy) }
8
- it { is_expected.to have_many(:items).class_name("::Approval::Item").dependent(:destroy) }
9
- end
10
-
11
- it { is_expected.to define_enum_for(:state).with(described_class.states) }
12
-
13
- describe "Validation" do
14
- it { is_expected.to validate_presence_of(:state) }
15
- it { is_expected.to validate_presence_of(:comments) }
16
- it { is_expected.to validate_presence_of(:items) }
17
-
18
- context "when request not pending" do
19
- subject { build :request, :cancelled }
20
- it { is_expected.to validate_presence_of(:respond_user) }
21
- end
22
- end
23
-
24
- describe "Callback" do
25
- context "before create" do
26
- let(:request) { build :request, :pending }
27
- let(:comment) { build :comment, request: request, user: request.request_user }
28
- let(:item) { build :item, :create, request: request }
29
-
30
- it "set requested_at" do
31
- expect(request.requested_at).to be_nil
32
- request.comments << comment
33
- request.items << item
34
- request.save!
35
- expect(request.requested_at).to be_present
36
- end
37
- end
38
- end
39
- end
@@ -1,4 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Approval::RespondForm::Approve do
4
- end