approval 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
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