maestrano-connector-rails 1.3.5 → 1.4.0

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.
@@ -14,10 +14,10 @@ describe Maestrano::Connector::Rails::SubEntityBase do
14
14
 
15
15
  describe 'external_entity_name' do
16
16
  context 'when entity is external' do
17
- before(:each) {
17
+ before(:each) do
18
18
  allow(Maestrano::Connector::Rails::SubEntityBase).to receive(:external?).and_return(true)
19
19
  allow(Maestrano::Connector::Rails::SubEntityBase).to receive(:entity_name).and_return('Name')
20
- }
20
+ end
21
21
 
22
22
  it 'returns the entity_name' do
23
23
  expect(subject.external_entity_name).to eql('Name')
@@ -25,19 +25,19 @@ describe Maestrano::Connector::Rails::SubEntityBase do
25
25
  end
26
26
 
27
27
  context 'when entity is not external' do
28
- before {
28
+ before do
29
29
  allow(Maestrano::Connector::Rails::SubEntityBase).to receive(:external?).and_return(false)
30
- }
30
+ end
31
31
  it { expect{ subject.external_entity_name }.to raise_error('Forbidden call: cannot call external_entity_name for a connec entity') }
32
32
  end
33
33
  end
34
34
 
35
35
  describe 'connec_entity_name' do
36
36
  context 'when entity is not external' do
37
- before(:each) {
37
+ before(:each) do
38
38
  allow(Maestrano::Connector::Rails::SubEntityBase).to receive(:external?).and_return(false)
39
39
  allow(Maestrano::Connector::Rails::SubEntityBase).to receive(:entity_name).and_return('Name')
40
- }
40
+ end
41
41
 
42
42
  it 'returns the entity_name' do
43
43
  expect(subject.connec_entity_name).to eql('Name')
@@ -45,19 +45,19 @@ describe Maestrano::Connector::Rails::SubEntityBase do
45
45
  end
46
46
 
47
47
  context 'when entity is external' do
48
- before {
48
+ before do
49
49
  allow(Maestrano::Connector::Rails::SubEntityBase).to receive(:external?).and_return(true)
50
- }
50
+ end
51
51
  it { expect{ subject.connec_entity_name }.to raise_error('Forbidden call: cannot call connec_entity_name for an external entity') }
52
52
  end
53
53
  end
54
54
 
55
55
  describe 'names_hash' do
56
56
  let(:bool) { true }
57
- before {
57
+ before do
58
58
  allow(Maestrano::Connector::Rails::SubEntityBase).to receive(:external?).and_return(bool)
59
59
  allow(Maestrano::Connector::Rails::SubEntityBase).to receive(:entity_name).and_return('Name')
60
- }
60
+ end
61
61
 
62
62
  context 'when external' do
63
63
  it { expect(subject.names_hash).to eql({external_entity: 'name'}) }
@@ -79,25 +79,25 @@ describe Maestrano::Connector::Rails::SubEntityBase do
79
79
  subject { Maestrano::Connector::Rails::SubEntityBase.new(organization, connec_client, external_client, opts) }
80
80
 
81
81
  describe 'map_to' do
82
- before {
82
+ before do
83
83
  class AMapper
84
84
  extend HashMapper
85
85
  end
86
86
  allow(subject.class).to receive(:mapper_classes).and_return('Name' => AMapper)
87
- }
87
+ end
88
88
 
89
89
  describe 'failure' do
90
90
  it { expect{ subject.map_to('Not an entity', {}) }.to raise_error(RuntimeError) }
91
91
  end
92
92
 
93
93
  context 'when external' do
94
- before {
94
+ before do
95
95
  allow(subject.class).to receive(:external?).and_return(true)
96
96
  allow(subject.class).to receive(:id_from_external_entity_hash).and_return('this id')
97
- }
97
+ end
98
98
 
99
99
  it 'calls the mapper denormalize' do
100
- expect(AMapper).to receive(:denormalize).and_return({})
100
+ expect(AMapper).to receive(:denormalize).with({}, subject.instance_values).and_return({})
101
101
  subject.map_to('Name', {})
102
102
  end
103
103
 
@@ -108,6 +108,12 @@ describe Maestrano::Connector::Rails::SubEntityBase do
108
108
  subject.map_to('Name', {})
109
109
  end
110
110
 
111
+ it 'calls the creation_mapper_classes that delegates to the mapper_classes denormalize when passed true as a third argument' do
112
+ expect(subject.class).to receive(:creation_mapper_classes).and_call_original
113
+ expect(AMapper).to receive(:denormalize).with({}, subject.instance_values).and_return({})
114
+ subject.map_to('Name', {}, true)
115
+ end
116
+
111
117
  context 'when no refs' do
112
118
  it 'calls for reference folding' do
113
119
  allow(subject.class).to receive(:references).and_return({})
@@ -117,10 +123,10 @@ describe Maestrano::Connector::Rails::SubEntityBase do
117
123
  end
118
124
 
119
125
  context 'when connec_matching_fields' do
120
- before {
126
+ before do
121
127
  expect(AMapper).to receive(:denormalize).and_return({opts: {a: 2}})
122
128
  allow(subject.class).to receive(:connec_matching_fields).and_return('matching_fields')
123
- }
129
+ end
124
130
 
125
131
  it 'adds the matching_fields in the entity opts' do
126
132
  expect(subject.map_to('Name', {})).to eql({id: [Maestrano::Connector::Rails::ConnecHelper.id_hash('this id', organization)], opts: {a: 2, matching_fields: 'matching_fields'}}.with_indifferent_access)
@@ -129,15 +135,21 @@ describe Maestrano::Connector::Rails::SubEntityBase do
129
135
  end
130
136
 
131
137
  context 'when not external' do
132
- before {
138
+ before do
133
139
  allow(subject.class).to receive(:external?).and_return(false)
134
- }
140
+ end
135
141
 
136
142
  it 'calls the mapper normalize' do
137
- expect(AMapper).to receive(:normalize).and_return({})
143
+ expect(AMapper).to receive(:normalize).with({}, subject.instance_values).and_return({})
138
144
  subject.map_to('Name', {})
139
145
  end
146
+
147
+ it 'calls the creation_mapper_classes that delegates to the mapper_classes normalize when passed true as a third argument' do
148
+ expect(subject.class).to receive(:creation_mapper_classes).and_call_original
149
+ expect(AMapper).to receive(:normalize).with({}, subject.instance_values).and_return({})
150
+ subject.map_to('Name', {}, true)
151
+ end
140
152
  end
141
153
  end
142
154
  end
143
- end
155
+ end
metadata CHANGED
@@ -1,14 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maestrano-connector-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.5
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
+ - Maestrano
7
8
  - Pierre Berard
9
+ - Marco Bagnasco
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2016-08-19 00:00:00.000000000 Z
13
+ date: 2016-08-24 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: rails
@@ -44,14 +46,14 @@ dependencies:
44
46
  requirements:
45
47
  - - ">="
46
48
  - !ruby/object:Gem::Version
47
- version: '0'
49
+ version: 0.2.2
48
50
  type: :runtime
49
51
  prerelease: false
50
52
  version_requirements: !ruby/object:Gem::Requirement
51
53
  requirements:
52
54
  - - ">="
53
55
  - !ruby/object:Gem::Version
54
- version: '0'
56
+ version: 0.2.2
55
57
  - !ruby/object:Gem::Dependency
56
58
  name: haml-rails
57
59
  requirement: !ruby/object:Gem::Requirement
@@ -362,7 +364,7 @@ dependencies:
362
364
  version: '0'
363
365
  description: Maestrano is the next generation marketplace for SME applications. See
364
366
  https://maestrano.com for details.
365
- email: pierre.berard@maestrano.com
367
+ email: developers@maestrano.com
366
368
  executables:
367
369
  - rails
368
370
  extensions: []