unidom-accession 2.3.3 → 2.3.4
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.
- checksums.yaml +4 -4
- data/README.md +9 -1
- data/app/models/unidom/accession/concerns/as_post_fulfiller.rb +12 -5
- data/lib/rspec/models/unidom/accession/concerns/as_post_fulfilled_shared_examples.rb +5 -21
- data/lib/rspec/models/unidom/accession/concerns/as_post_fulfiller_shared_examples.rb +59 -10
- data/lib/unidom/accession/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4706a65d450b15934cac5b2cd59fade50a0534e9
|
4
|
+
data.tar.gz: 79f2cc54b9709820fc798c0fe04b11690e945910
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29cac17f8c878a17404bcea59be8694ccbddbf8bf5e3070f8504109def78b0b9f405696b127a35725ee252d9f9054c5fceef758f2b6ceb4f22c7c7b96acf0a68
|
7
|
+
data.tar.gz: 894b4accc8160de910d2b40f728f6ff9f7d1204e865dc87dd83e83bee218e82e52795a9615c647561097ccffeb331ad1b761df1e159e51c498052a89ca40a9fa
|
data/README.md
CHANGED
@@ -144,7 +144,15 @@ describe Unidom::Party::Person do
|
|
144
144
|
name: 'Tim'
|
145
145
|
}
|
146
146
|
|
147
|
-
|
147
|
+
post_attribtues = {
|
148
|
+
name: 'HR Manager',
|
149
|
+
organization_id: SecureRandom.uuid,
|
150
|
+
organization_type: 'Unidom::Position::Organization::Mock',
|
151
|
+
position_id: SecureRandom.uuid
|
152
|
+
}
|
153
|
+
post = Unidom::Position::Post.create! post_attributes
|
154
|
+
|
155
|
+
it_behaves_like 'Unidom::Accession::Concerns::AsPostFulfiller', model_attribtues, post
|
148
156
|
|
149
157
|
end
|
150
158
|
|
@@ -3,7 +3,8 @@
|
|
3
3
|
|
4
4
|
module Unidom::Accession::Concerns::AsPostFulfiller
|
5
5
|
|
6
|
-
extend
|
6
|
+
extend ActiveSupport::Concern
|
7
|
+
include Unidom::Common::Concerns::ArgumentValidation
|
7
8
|
|
8
9
|
included do |includer|
|
9
10
|
|
@@ -16,9 +17,12 @@ module Unidom::Accession::Concerns::AsPostFulfiller
|
|
16
17
|
# 或者
|
17
18
|
# selected_person.fulfill_post! post, at: Time.now-1.day
|
18
19
|
def fulfill_post!(post, at: Time.now)
|
19
|
-
|
20
|
-
|
20
|
+
|
21
|
+
assert_present! :post, post
|
22
|
+
assert_present! :at, at
|
23
|
+
|
21
24
|
post_fulfillments.create! fulfilled: post, opened_at: at
|
25
|
+
|
22
26
|
end
|
23
27
|
|
24
28
|
##
|
@@ -27,9 +31,12 @@ module Unidom::Accession::Concerns::AsPostFulfiller
|
|
27
31
|
# 或者
|
28
32
|
# post.fulfill_post? post, at: Time.now
|
29
33
|
def fulfill_post?(post, at: Time.now)
|
30
|
-
|
31
|
-
|
34
|
+
|
35
|
+
assert_present! :post, post
|
36
|
+
assert_present! :at, at
|
37
|
+
|
32
38
|
post_fulfillments.fulfilled_is(post).valid_at(now: at).exists?
|
39
|
+
|
33
40
|
end
|
34
41
|
|
35
42
|
end
|
@@ -1,31 +1,14 @@
|
|
1
1
|
shared_examples 'Unidom::Accession::Concerns::AsPostFulfilled' do |model_attributes, post_fulfiller|
|
2
2
|
|
3
3
|
before :each do
|
4
|
-
|
5
4
|
@post = described_class.create! model_attributes
|
6
|
-
|
7
|
-
end
|
8
|
-
|
9
|
-
after :all do
|
10
|
-
|
11
|
-
#@post.destroy
|
12
|
-
|
13
5
|
end
|
14
6
|
|
15
|
-
|
16
|
-
context do
|
17
|
-
|
18
|
-
post = described_class.create! model_attributes
|
19
|
-
it_behaves_like 'assert_present!', post, :is_fulfilled_as_post!, [ { by: post_fulfiller, at: Time.now } ], [ :by, :at ]
|
20
|
-
|
7
|
+
after :each do
|
21
8
|
end
|
22
|
-
=end
|
23
9
|
|
24
10
|
context '#is_fulfilled_as_post!' do
|
25
11
|
|
26
|
-
it 'should reject the by argument = nil' do expect { @post.is_fulfilled_as_post! by: nil, at: Time.now }.to raise_error(ArgumentError, 'The by argument is required.') end
|
27
|
-
it 'should reject the at argument = nil' do expect { @post.is_fulfilled_as_post! by: post_fulfiller, at: nil }.to raise_error(ArgumentError, 'The at argument is required.') end
|
28
|
-
|
29
12
|
it "should be able to be fulfilled as post by #{post_fulfiller.inspect}" do
|
30
13
|
post_fulfillment = @post.is_fulfilled_as_post! by: post_fulfiller
|
31
14
|
expect(post_fulfillment).to be_present
|
@@ -44,9 +27,6 @@ shared_examples 'Unidom::Accession::Concerns::AsPostFulfilled' do |model_attribu
|
|
44
27
|
|
45
28
|
context '#is_fulfilled_as_post?' do
|
46
29
|
|
47
|
-
it 'should reject the by argument = nil' do expect { @post.is_fulfilled_as_post? by: nil, at: Time.now }.to raise_error(ArgumentError, 'The by argument is required.') end
|
48
|
-
it 'should reject the at argument = nil' do expect { @post.is_fulfilled_as_post? by: post_fulfiller, at: nil }.to raise_error(ArgumentError, 'The at argument is required.') end
|
49
|
-
|
50
30
|
it "should be able to be fulfilled as post by #{post_fulfiller.inspect}" do
|
51
31
|
expect(@post.is_fulfilled_as_post? by: post_fulfiller).to be_falsey
|
52
32
|
@post.is_fulfilled_as_post! by: post_fulfiller
|
@@ -75,6 +55,10 @@ shared_examples 'Unidom::Accession::Concerns::AsPostFulfilled' do |model_attribu
|
|
75
55
|
|
76
56
|
it_behaves_like 'has_many', model_attributes, :post_fulfillments, Unidom::Accession::PostFulfillment, [ post_fulfillment_1_attribtues, post_fulfillment_2_attribtues ]
|
77
57
|
|
58
|
+
post = described_class.create! model_attributes
|
59
|
+
it_behaves_like 'assert_present!', post, :is_fulfilled_as_post!, [ { by: post_fulfiller, at: Time.now } ], [ :by, :at ]
|
60
|
+
it_behaves_like 'assert_present!', post, :is_fulfilled_as_post?, [ { by: post_fulfiller, at: Time.now } ], [ :by, :at ]
|
61
|
+
|
78
62
|
end
|
79
63
|
|
80
64
|
end
|
@@ -1,15 +1,64 @@
|
|
1
|
-
shared_examples 'Unidom::Accession::Concerns::AsPostFulfiller' do |model_attributes|
|
1
|
+
shared_examples 'Unidom::Accession::Concerns::AsPostFulfiller' do |model_attributes, post|
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
}
|
3
|
+
before :each do
|
4
|
+
@post_fulfiller = described_class.create! model_attributes
|
5
|
+
end
|
7
6
|
|
8
|
-
|
9
|
-
|
10
|
-
fulfilled_type: 'Unidom::Accession::Fulfilled::Mock'
|
11
|
-
}
|
7
|
+
after :each do
|
8
|
+
end
|
12
9
|
|
13
|
-
|
10
|
+
context '#fulfill_post!' do
|
11
|
+
|
12
|
+
it "should be able to fulfill post #{post.inspect}" do
|
13
|
+
post_fulfillment = @post_fulfiller.fulfill_post! post
|
14
|
+
expect(post_fulfillment).to be_present
|
15
|
+
expect(post_fulfillment).to be_a(Unidom::Accession::PostFulfillment)
|
16
|
+
expect(post_fulfillment).not_to be_new_record
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should be able to fulfill post #{post.inspect}, at #{Time.now.inspect}" do
|
20
|
+
post_fulfillment = @post_fulfiller.fulfill_post! post, at: Time.now
|
21
|
+
expect(post_fulfillment).to be_present
|
22
|
+
expect(post_fulfillment).to be_a(Unidom::Accession::PostFulfillment)
|
23
|
+
expect(post_fulfillment).not_to be_new_record
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
context '#fulfill_post?' do
|
29
|
+
|
30
|
+
it "should be able to fulfill post #{post.inspect}" do
|
31
|
+
expect(@post_fulfiller.fulfill_post? post).to be_falsey
|
32
|
+
@post_fulfiller.fulfill_post! post
|
33
|
+
expect(@post_fulfiller.fulfill_post? post).to be_truthy
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should be able to fulfill post #{post.inspect}, at #{Time.now.inspect}" do
|
37
|
+
expect(@post_fulfiller.fulfill_post? post, at: Time.now).to be_falsey
|
38
|
+
@post_fulfiller.fulfill_post! post, at: Time.now
|
39
|
+
expect(@post_fulfiller.fulfill_post? post, at: Time.now).to be_truthy
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
context do
|
45
|
+
|
46
|
+
post_fulfillment_1_attribtues = {
|
47
|
+
fulfilled_id: SecureRandom.uuid,
|
48
|
+
fulfilled_type: 'Unidom::Accession::Fulfilled::Mock'
|
49
|
+
}
|
50
|
+
|
51
|
+
post_fulfillment_2_attribtues = {
|
52
|
+
fulfilled_id: SecureRandom.uuid,
|
53
|
+
fulfilled_type: 'Unidom::Accession::Fulfilled::Mock'
|
54
|
+
}
|
55
|
+
|
56
|
+
it_behaves_like 'has_many', model_attributes, :post_fulfillments, Unidom::Accession::PostFulfillment, [ post_fulfillment_1_attribtues, post_fulfillment_2_attribtues ]
|
57
|
+
|
58
|
+
post_fulfiller = described_class.create! model_attributes
|
59
|
+
it_behaves_like 'assert_present!', post_fulfiller, :fulfill_post!, [ post, { at: Time.now } ], [ { 0 => :post }, :at ]
|
60
|
+
it_behaves_like 'assert_present!', post_fulfiller, :fulfill_post?, [ post, { at: Time.now } ], [ { 0 => :post }, :at ]
|
61
|
+
|
62
|
+
end
|
14
63
|
|
15
64
|
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.
|
4
|
+
version: 2.3.4
|
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-03-
|
11
|
+
date: 2017-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: unidom-common
|