unidom-accession 2.3.1 → 2.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fe5f5dc574296af56843985c519c3b5e942702b6
4
- data.tar.gz: 5604258d182b419dc86cc9d1c971581e3d014636
3
+ metadata.gz: 570339b998187c75dffb782585abf1d5e701205a
4
+ data.tar.gz: c8a60afa72db9234325900288021e65fd636e7aa
5
5
  SHA512:
6
- metadata.gz: 4a49645ecf78f4a07ce19d4b48be63aaaac7ab655163de2eefe29afa2373e162198d2d10f7d080c94e260d1c25bbde55bd65e783a492d61ad1e03c536bd5ac23
7
- data.tar.gz: c469e50083172660c7d72b4ba5313e1217390fc12e17176f7ad0836431acac3f2e09120afb278fe9deb9b250a81282929ae7e8f8540a642c57261fb9ab6c27f0
6
+ metadata.gz: 6c16cca2d5660da1209bdd5aaf44489337ce386fdbdbff28d1891246a773d3ab855f897aace9401f56d9b456969d8d061aa92c3c40bc25bb906338ee5da3561b
7
+ data.tar.gz: 7ca9c6b401d4103cd8ba304036253946f2747af1bb2772d9abed444956d512a012d8f17442d7b0fa58002def732590ddb6cb34f29af7a5fac4b0f61ab0e29e20
data/README.md CHANGED
@@ -101,6 +101,8 @@ end
101
101
 
102
102
  ## RSpec examples
103
103
 
104
+ ### RSpec example manifest (run automatically)
105
+
104
106
  ```ruby
105
107
  # spec/models/unidom_spec.rb
106
108
  require 'unidom/accession/models_rspec'
@@ -111,3 +113,52 @@ require 'unidom/accession/types_rspec'
111
113
  # spec/validators/unidom_spec.rb
112
114
  require 'unidom/accession/validators_rspec'
113
115
  ```
116
+
117
+ ### RSpec shared examples (to be integrated)
118
+
119
+ ```ruby
120
+ # lib/unidom.rb
121
+ def initialize_unidom
122
+
123
+ Unidom::Party::Person.class_eval do
124
+ include Unidom::Accession::Concerns::AsPostFulfiller
125
+ end
126
+
127
+ Unidom::Position::Post.class_eval do
128
+ include Unidom::Accession::Concerns::AsPostFulfilled
129
+ end
130
+
131
+ end
132
+
133
+ # spec/rails_helper.rb
134
+ require 'unidom'
135
+ initialize_unidom
136
+
137
+ # spec/support/unidom_rspec_shared_examples.rb
138
+ require 'unidom/accession/rspec_shared_examples'
139
+
140
+ # spec/models/unidom/party/person_spec.rb
141
+ describe Unidom::Party::Person do
142
+
143
+ model_attribtues = {
144
+ name: 'Tim'
145
+ }
146
+
147
+ it_behaves_like 'Unidom::Accession::Concerns::AsPostFulfiller', model_attribtues
148
+
149
+ end
150
+
151
+ # spec/models/unidom/position/post_spec.rb
152
+ describe Unidom::Position::Post do
153
+
154
+ model_attribtues = {
155
+ name: 'HR Manager',
156
+ organization_id: SecureRandom.uuid,
157
+ organization_type: 'Unidom::Position::Organization::Mock',
158
+ position_id: SecureRandom.uuid
159
+ }
160
+
161
+ it_behaves_like 'Unidom::Accession::Concerns::AsPostFulfilled', model_attribtues
162
+
163
+ end
164
+ ```
@@ -21,8 +21,9 @@ class Unidom::Accession::PostFulfillment < Unidom::Accession::ApplicationRecord
21
21
  # Unidom::Accession::PostFulfillment.fulfill! fulfilled: post, fulfiller: selected_person
22
22
  def self.fulfill!(fulfilled: nil, fulfiller: nil, opened_at: Time.now)
23
23
  assert_present! :fulfilled, fulfilled
24
+ assert_present! :fulfiller, fulfiller
24
25
  #raise ArgumentError.new('Argument fulfilled is required.') if fulfilled.blank?
25
- raise ArgumentError.new('Argument fulfiller is required.') if fulfiller.blank?
26
+ #raise ArgumentError.new('Argument fulfiller is required.') if fulfiller.blank?
26
27
  raise ArgumentError.new('Argument opened_at is required.') if opened_at.blank?
27
28
  self.create! fulfiller: fulfiller, fulfilled: fulfilled, opened_at: opened_at
28
29
  end
@@ -0,0 +1,15 @@
1
+ shared_examples 'Unidom::Accession::Concerns::AsPostFulfilled' do |model_attributes|
2
+
3
+ post_fulfillment_1_attribtues = {
4
+ fulfiller_id: SecureRandom.uuid,
5
+ fulfiller_type: 'Unidom::Accession::Fulfiller::Mock'
6
+ }
7
+
8
+ post_fulfillment_2_attribtues = {
9
+ fulfiller_id: SecureRandom.uuid,
10
+ fulfiller_type: 'Unidom::Accession::Fulfiller::Mock'
11
+ }
12
+
13
+ it_behaves_like 'has_many', model_attributes, :post_fulfillments, Unidom::Accession::PostFulfillment, [ post_fulfillment_1_attribtues, post_fulfillment_2_attribtues ]
14
+
15
+ end
@@ -0,0 +1,15 @@
1
+ shared_examples 'Unidom::Accession::Concerns::AsPostFulfiller' do |model_attributes|
2
+
3
+ post_fulfillment_1_attribtues = {
4
+ fulfilled_id: SecureRandom.uuid,
5
+ fulfilled_type: 'Unidom::Accession::Fulfilled::Mock'
6
+ }
7
+
8
+ post_fulfillment_2_attribtues = {
9
+ fulfilled_id: SecureRandom.uuid,
10
+ fulfilled_type: 'Unidom::Accession::Fulfilled::Mock'
11
+ }
12
+
13
+ it_behaves_like 'has_many', model_attributes, :post_fulfillments, Unidom::Accession::PostFulfillment, [ post_fulfillment_1_attribtues, post_fulfillment_2_attribtues ]
14
+
15
+ end
@@ -0,0 +1,2 @@
1
+ require 'rspec/models/unidom/accession/concerns/as_post_fulfilled_shared_examples'
2
+ require 'rspec/models/unidom/accession/concerns/as_post_fulfiller_shared_examples'
@@ -1,5 +1,5 @@
1
1
  module Unidom
2
2
  module Accession
3
- VERSION = '2.3.1'.freeze
3
+ VERSION = '2.3.2'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unidom-accession
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.1
4
+ version: 2.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Topbit Du
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-22 00:00:00.000000000 Z
11
+ date: 2017-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: unidom-common
@@ -50,11 +50,14 @@ files:
50
50
  - app/views/layouts/unidom/accession/application.html.erb
51
51
  - config/routes.rb
52
52
  - db/migrate/20040501000000_create_unidom_post_fulfillments.rb
53
+ - lib/rspec/models/unidom/accession/concerns/as_post_fulfilled_shared_examples.rb
54
+ - lib/rspec/models/unidom/accession/concerns/as_post_fulfiller_shared_examples.rb
53
55
  - lib/rspec/models/unidom/accession/post_fulfillment_spec.rb
54
56
  - lib/tasks/accession_tasks.rake
55
57
  - lib/unidom/accession.rb
56
58
  - lib/unidom/accession/engine.rb
57
59
  - lib/unidom/accession/models_rspec.rb
60
+ - lib/unidom/accession/rspec_shared_examples.rb
58
61
  - lib/unidom/accession/types_rspec.rb
59
62
  - lib/unidom/accession/validators_rspec.rb
60
63
  - lib/unidom/accession/version.rb