maestrano-connector-rails 1.3.4 → 1.3.5

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +9 -3
  3. data/.rubocop_todo.yml +1 -18
  4. data/VERSION +1 -1
  5. data/app/jobs/maestrano/connector/rails/synchronization_job.rb +13 -2
  6. data/app/models/maestrano/connector/rails/concerns/complex_entity.rb +4 -2
  7. data/app/models/maestrano/connector/rails/concerns/entity.rb +13 -7
  8. data/app/models/maestrano/connector/rails/exceptions/entity_not_found_error.rb +3 -0
  9. data/app/models/maestrano/connector/rails/organization.rb +20 -0
  10. data/lib/generators/connector/complex_entity_generator.rb +2 -2
  11. data/lib/generators/connector/install_generator.rb +3 -3
  12. data/lib/generators/connector/templates/complex_entity_example/contact.rb +2 -1
  13. data/lib/generators/connector/templates/complex_entity_example/contact_and_lead.rb +2 -1
  14. data/lib/generators/connector/templates/complex_entity_example/contact_mapper.rb +2 -1
  15. data/lib/generators/connector/templates/complex_entity_example/lead.rb +2 -1
  16. data/lib/generators/connector/templates/complex_entity_example/lead_mapper.rb +2 -1
  17. data/lib/generators/connector/templates/complex_entity_example/person.rb +2 -1
  18. data/lib/generators/connector/templates/entity.rb +1 -0
  19. data/lib/generators/connector/templates/example_entity.rb +2 -1
  20. data/lib/generators/connector/templates/example_entity_spec.rb +1 -0
  21. data/lib/generators/connector/templates/external.rb +2 -1
  22. data/lib/generators/connector/templates/home_controller.rb +19 -30
  23. data/lib/generators/connector/templates/home_controller_spec.rb +18 -19
  24. data/lib/generators/connector/templates/oauth_controller.rb +13 -24
  25. data/lib/generators/connector/templates/shared_entities_controller.rb +4 -4
  26. data/lib/generators/connector/templates/shared_entities_controller_spec.rb +5 -5
  27. data/lib/generators/connector/templates/stylesheets/layout.sass +16 -3
  28. data/lib/generators/connector/templates/stylesheets/variables.sass +22 -4
  29. data/lib/generators/connector/templates/synchronizations_controller.rb +4 -4
  30. data/lib/generators/connector/templates/synchronizations_controller_spec.rb +4 -4
  31. data/maestrano-connector-rails.gemspec +7 -8
  32. data/release_notes.md +15 -0
  33. data/spec/dummy/tmp/cache/.keep +1 -0
  34. data/spec/factories.rb +7 -8
  35. data/spec/jobs/synchronization_job_spec.rb +34 -12
  36. data/spec/models/complex_entity_spec.rb +5 -5
  37. data/spec/models/entity_spec.rb +18 -12
  38. data/spec/spec_helper.rb +2 -2
  39. data/template/{application.yml.sample → application-sample.yml} +0 -0
  40. data/template/factories.rb +4 -5
  41. data/template/maestrano.rb +3 -3
  42. data/template/{maestrano-connector-template.rb → maestrano_connector_template.rb} +27 -25
  43. data/template/routes.rb +2 -8
  44. data/template/rubocop.yml +55 -0
  45. data/template/sidekiq.rb +8 -0
  46. data/template/spec_helper.rb +4 -3
  47. metadata +6 -7
  48. data/spec/dummy/app/controllers/admin_controller.rb +0 -48
  49. data/spec/dummy/app/controllers/home_controller.rb +0 -17
  50. data/spec/dummy/app/controllers/oauth_controller.rb +0 -45
@@ -1,44 +1,33 @@
1
+ # frozen_string_literal: true
1
2
  class OauthController < ApplicationController
2
-
3
3
  # TODO
4
4
  # Routes for this controller are not provided by the gem and
5
5
  # should be set according to your needs
6
6
 
7
7
  def request_omniauth
8
- if is_admin
9
- # TODO
10
- # Perform oauth request here. The oauth process should be able to
11
- # remember the organization, either by a param in the request or using
12
- # a session
13
- else
14
- redirect_to root_url
15
- end
8
+ return redirect_to root_url unless is_admin
9
+
10
+ # TODO
11
+ # Perform oauth request here. The oauth process should be able to
12
+ # remember the organization, either by a param in the request or using
13
+ # a session
16
14
  end
17
15
 
18
16
  def create_omniauth
19
17
  org_uid = '' # TODO
20
18
  organization = Maestrano::Connector::Rails::Organization.find_by_uid_and_tenant(org_uid, current_user.tenant)
21
19
 
22
- if organization && is_admin?(current_user, organization)
23
- # TODO
24
- # Update organization with oauth params
25
- # Should at least set oauth_uid, oauth_token and oauth_provider
26
- end
20
+ return redirect_to root_url unless organization && is_admin?(current_user, organization)
27
21
 
28
- redirect_to root_url
22
+ # TODO
23
+ # Update organization with oauth params
24
+ # Should at least set oauth_uid, oauth_token and oauth_provider
29
25
  end
30
26
 
31
27
  def destroy_omniauth
32
28
  organization = Maestrano::Connector::Rails::Organization.find_by_id(params[:organization_id])
33
-
34
- if organization && is_admin?(current_user, organization)
35
- organization.oauth_uid = nil
36
- organization.oauth_token = nil
37
- organization.refresh_token = nil
38
- organization.sync_enabled = false
39
- organization.save
40
- end
29
+ organization.clear_omniauth if organization && is_admin?(current_user, organization)
41
30
 
42
31
  redirect_to root_url
43
32
  end
44
- end
33
+ end
@@ -1,7 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  class SharedEntitiesController < ApplicationController
2
3
  def index
3
- if is_admin
4
- @idmaps = Maestrano::Connector::Rails::IdMap.where(organization_id: current_organization.id).order(:connec_entity)
5
- end
4
+ return unless is_admin
5
+ @idmaps = Maestrano::Connector::Rails::IdMap.where(organization_id: current_organization.id).order(:connec_entity)
6
6
  end
7
- end
7
+ end
@@ -1,18 +1,18 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe SharedEntitiesController, :type => :controller do
3
+ describe SharedEntitiesController, type: :controller do
4
4
  describe 'index' do
5
5
  subject { get :index }
6
6
 
7
7
  it { expect(subject).to be_success }
8
8
 
9
9
  context 'when user is admin' do
10
- let(:organization) { create(:organization) }
10
+ let(:organization) { create(:organization) }
11
11
  let(:idmap) { create(:idmap, organization: organization) }
12
- before {
12
+ before do
13
13
  allow_any_instance_of(Maestrano::Connector::Rails::SessionHelper).to receive(:current_organization).and_return(organization)
14
14
  allow_any_instance_of(Maestrano::Connector::Rails::SessionHelper).to receive(:is_admin).and_return(true)
15
- }
15
+ end
16
16
 
17
17
  it 'assigns the idmaps' do
18
18
  subject
@@ -20,4 +20,4 @@ describe SharedEntitiesController, :type => :controller do
20
20
  end
21
21
  end
22
22
  end
23
- end
23
+ end
@@ -30,15 +30,28 @@ html, body
30
30
  margin-left: 20px
31
31
  margin-top: -17px
32
32
 
33
+ .logo
34
+ width: $logo-width
35
+ height: $logo-height
36
+ margin-right: $logo-margin-right
37
+ margin-left: $logo-margin-left
38
+ margin-top: $logo-margin-top
39
+ margin-bottom: $logo-margin-bottom
40
+
33
41
  &.navbar-inverse
34
42
  font-weight: 300
35
43
  letter-spacing: 1px
36
44
 
37
45
  ul.nav.navbar-nav
38
- text-transform: uppercase
46
+ text-transform: $navbar-text-transform
47
+ font-weight: $navbar-font-weight
39
48
 
40
49
  a
41
- font-size: $normal
50
+ font-size: $text-size-normal
51
+
52
+ &:hover, &:focus
53
+ color: $navbar-links
54
+ text-decoration: $navbar-links-decoration
42
55
 
43
56
  // Reduce the height of the navbar if on mobile device
44
57
  @media(min-width: 768px)
@@ -60,4 +73,4 @@ html, body
60
73
  text-align: center
61
74
 
62
75
  .align-right
63
- text-align: right
76
+ text-align: right
@@ -17,6 +17,8 @@ $text-color: #000
17
17
  $navbar-bg-color: #aaa
18
18
  $navbar-text-color: #fff
19
19
 
20
+ $navbar-link-hover: #ffa
21
+
20
22
  $copyright-color: $navbar-text-color
21
23
 
22
24
  $primary-button-color: blue
@@ -32,8 +34,19 @@ $todo-step-badge-color: darken($todo-step-border-color, 20%)
32
34
  /*-----------------------------------------------------------------------*/
33
35
  /* Text Size */
34
36
  /*-----------------------------------------------------------------------*/
35
- $small: 11px
36
- $normal: 13px
37
+ $text-size-small: 11px
38
+ $text-size-normal: 13px
39
+
40
+ /*-----------------------------------------------------------------------*/
41
+ /* Logo */
42
+ /*-----------------------------------------------------------------------*/
43
+ $logo-width: 100px
44
+ $logo-height: 48px
45
+
46
+ $logo-margin-right: 0
47
+ $logo-margin-left: 10px
48
+ $logo-margin-top: 0
49
+ $logo-margin-bottom: 0
37
50
 
38
51
  /*-----------------------------------------------------------------------*/
39
52
  /* Nav bar */
@@ -46,8 +59,13 @@ $navbar-inverse-border: $navbar-bg-color
46
59
  $navbar-desktop-height: 80px
47
60
  $navbar-inverse-link-active-bg: $navbar-inverse-bg
48
61
 
49
- $navbar-padding: 10px
50
- $footer-height: 50px
62
+ $navbar-text-transform: uppercase
63
+ $navbar-font-weight: 300
64
+
65
+ $navbar-links-decoration: underline
66
+
67
+ $navbar-padding: 10px
68
+ $footer-height: 50px
51
69
 
52
70
  $brand-success: $primary-button-color
53
71
  $brand-primary: $primary-button-color
@@ -1,7 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  class SynchronizationsController < ApplicationController
2
3
  def index
3
- if current_organization
4
- @synchronizations = Maestrano::Connector::Rails::Synchronization.where(organization_id: current_organization.id).order(updated_at: :desc).limit(40)
5
- end
4
+ return unless current_organization
5
+ @synchronizations = Maestrano::Connector::Rails::Synchronization.where(organization_id: current_organization.id).order(updated_at: :desc).limit(40)
6
6
  end
7
- end
7
+ end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe SynchronizationsController, :type => :controller do
3
+ describe SynchronizationsController, type: :controller do
4
4
  describe 'index' do
5
5
  subject { get :index }
6
6
 
@@ -9,9 +9,9 @@ describe SynchronizationsController, :type => :controller do
9
9
  context 'when user is logged in' do
10
10
  let(:organization) { create(:organization) }
11
11
  let(:synchronization) { create(:synchronization, organization: organization) }
12
- before {
12
+ before do
13
13
  allow_any_instance_of(Maestrano::Connector::Rails::SessionHelper).to receive(:current_organization).and_return(organization)
14
- }
14
+ end
15
15
 
16
16
  it 'assigns the synchronizations' do
17
17
  subject
@@ -19,4 +19,4 @@ describe SynchronizationsController, :type => :controller do
19
19
  end
20
20
  end
21
21
  end
22
- end
22
+ end
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: maestrano-connector-rails 1.3.4 ruby lib
5
+ # stub: maestrano-connector-rails 1.3.5 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "maestrano-connector-rails"
9
- s.version = "1.3.4"
9
+ s.version = "1.3.5"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Pierre Berard"]
14
- s.date = "2016-08-08"
14
+ s.date = "2016-08-19"
15
15
  s.description = "Maestrano is the next generation marketplace for SME applications. See https://maestrano.com for details."
16
16
  s.email = "pierre.berard@maestrano.com"
17
17
  s.executables = ["rails"]
@@ -57,6 +57,7 @@ Gem::Specification.new do |s|
57
57
  "app/models/maestrano/connector/rails/connector_logger.rb",
58
58
  "app/models/maestrano/connector/rails/entity.rb",
59
59
  "app/models/maestrano/connector/rails/entity_base.rb",
60
+ "app/models/maestrano/connector/rails/exceptions/entity_not_found_error.rb",
60
61
  "app/models/maestrano/connector/rails/external.rb",
61
62
  "app/models/maestrano/connector/rails/id_map.rb",
62
63
  "app/models/maestrano/connector/rails/organization.rb",
@@ -122,11 +123,8 @@ Gem::Specification.new do |s|
122
123
  "spec/dummy/app/assets/images/.keep",
123
124
  "spec/dummy/app/assets/javascripts/application.js",
124
125
  "spec/dummy/app/assets/stylesheets/application.css",
125
- "spec/dummy/app/controllers/admin_controller.rb",
126
126
  "spec/dummy/app/controllers/application_controller.rb",
127
127
  "spec/dummy/app/controllers/concerns/.keep",
128
- "spec/dummy/app/controllers/home_controller.rb",
129
- "spec/dummy/app/controllers/oauth_controller.rb",
130
128
  "spec/dummy/app/helpers/application_helper.rb",
131
129
  "spec/dummy/app/mailers/.keep",
132
130
  "spec/dummy/app/models/.keep",
@@ -198,13 +196,14 @@ Gem::Specification.new do |s|
198
196
  "spec/routing/connec_routing_spec.rb",
199
197
  "spec/spec_helper.rb",
200
198
  "template/Procfile",
201
- "template/application.yml.sample",
199
+ "template/application-sample.yml",
202
200
  "template/database.yml",
203
201
  "template/factories.rb",
204
202
  "template/gitignore",
205
- "template/maestrano-connector-template.rb",
206
203
  "template/maestrano.rb",
204
+ "template/maestrano_connector_template.rb",
207
205
  "template/routes.rb",
206
+ "template/rubocop.yml",
208
207
  "template/settings/development.yml",
209
208
  "template/settings/production.yml",
210
209
  "template/settings/settings.yml",
data/release_notes.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## 1.3.4
2
+ `maestrano.rb` file should be updated with new synchronization paths.
3
+
4
+ ## Features
5
+ * `connec_version_lt?` method
6
+
7
+ ## Fixes
8
+ * Fixes multi-tenancy of synchronization endpoints
9
+ * Fixes display of singleton entity
10
+
11
+ ## 1.3.3
12
+
13
+ ## Fixes
14
+ * Fixes `connec_version` method
15
+
1
16
  ## 1.3.2
2
17
 
3
18
  ### Features
@@ -0,0 +1 @@
1
+
data/spec/factories.rb CHANGED
@@ -1,13 +1,12 @@
1
1
  FactoryGirl.define do
2
-
3
2
  factory :user, class: Maestrano::Connector::Rails::User do
4
- email "email@example.com"
5
- tenant "default"
3
+ email 'email@example.com'
4
+ tenant 'default'
6
5
  end
7
6
 
8
7
  factory :organization, class: Maestrano::Connector::Rails::Organization do
9
- name "My company"
10
- tenant "default"
8
+ name 'My company'
9
+ tenant 'default'
11
10
  sequence(:uid) { |n| "cld-11#{n}" }
12
11
  oauth_uid 'sfuiy765'
13
12
  oauth_provider 'this_app'
@@ -21,9 +20,9 @@ FactoryGirl.define do
21
20
  factory :idmap, class: Maestrano::Connector::Rails::IdMap do
22
21
  sequence(:connec_id) { |n| "#{n}6798-ada6-te43#{n}" }
23
22
  connec_entity 'person'
24
- sequence(:external_id) { |n| "#{n}4567ada66#{n}" }
23
+ sequence(:external_id) { |n| "#{n}4567ada66#{n}" }
25
24
  external_entity 'contact'
26
- last_push_to_external 2.day.ago
25
+ last_push_to_external 2.days.ago
27
26
  last_push_to_connec 1.day.ago
28
27
  association :organization
29
28
  end
@@ -33,4 +32,4 @@ FactoryGirl.define do
33
32
  status 'SUCCESS'
34
33
  partial false
35
34
  end
36
- end
35
+ end
@@ -154,11 +154,15 @@ describe Maestrano::Connector::Rails::SynchronizationJob do
154
154
  let(:batch_limit) { 50 }
155
155
 
156
156
  context 'non complex entity' do
157
+ let(:external_entities1) { [] }
158
+ let(:external_entities2) { [] }
159
+ let(:connec_entities1) { [] }
160
+ let(:connec_entities2) { [] }
157
161
  before {
158
162
  class Entities::Person < Maestrano::Connector::Rails::Entity
159
163
  end
160
- allow_any_instance_of(Entities::Person).to receive(:get_connec_entities).and_return([])
161
- allow_any_instance_of(Entities::Person).to receive(:get_external_entities_wrapper).and_return([])
164
+ allow_any_instance_of(Entities::Person).to receive(:get_connec_entities).and_return(connec_entities1, connec_entities2)
165
+ allow_any_instance_of(Entities::Person).to receive(:get_external_entities_wrapper).and_return(external_entities1, external_entities2)
162
166
  allow_any_instance_of(Entities::Person).to receive(:consolidate_and_map_data).and_return({})
163
167
  allow_any_instance_of(Entities::Person).to receive(:push_entities_to_external)
164
168
  allow_any_instance_of(Entities::Person).to receive(:push_entities_to_connec)
@@ -166,20 +170,23 @@ describe Maestrano::Connector::Rails::SynchronizationJob do
166
170
 
167
171
  context 'with pagination' do
168
172
  context 'with more than 50 entities' do
173
+ let(:external_entities1) { [*1..50] }
174
+ let(:external_entities2) { [*51..60] }
175
+
169
176
  it 'calls perform_sync several time' do
170
- allow(subject).to receive(:perform_sync).and_return(batch_limit, 0)
171
177
  expect_any_instance_of(Entities::Person).to receive(:opts_merge!).twice
172
- expect(subject).to receive(:perform_sync).twice
178
+ expect(subject).to receive(:perform_sync).twice.and_call_original
173
179
 
174
180
  subject.first_sync_entity('person', organization, nil, nil, nil, {}, true)
175
181
  end
176
182
  end
177
183
 
178
184
  context 'with less than 50 entities' do
185
+ let(:external_entities1) { [*1..40] }
186
+
179
187
  it 'calls perform_sync once' do
180
- allow(subject).to receive(:perform_sync).and_return(batch_limit - 10)
181
188
  expect_any_instance_of(Entities::Person).to receive(:opts_merge!).once.with({__skip: 0})
182
- expect(subject).to receive(:perform_sync).once
189
+ expect(subject).to receive(:perform_sync).once.and_call_original
183
190
 
184
191
  subject.first_sync_entity('person', organization, nil, nil, nil, {}, true)
185
192
  end
@@ -187,12 +194,27 @@ describe Maestrano::Connector::Rails::SynchronizationJob do
187
194
  end
188
195
 
189
196
  context 'without pagination' do
190
- it 'calls perform_sync once' do
191
- allow(subject).to receive(:perform_sync).and_return(batch_limit + 10)
192
- expect_any_instance_of(Entities::Person).to receive(:opts_merge!).once.with({__skip: 0})
193
- expect(subject).to receive(:perform_sync).once
194
-
195
- subject.first_sync_entity('person', organization, nil, nil, nil, {}, true)
197
+ context 'when more than 50 entities' do
198
+ let(:external_entities1) { [*1..60] }
199
+
200
+ it 'calls perform_sync once' do
201
+ expect_any_instance_of(Entities::Person).to receive(:opts_merge!).once.with({__skip: 0})
202
+ expect(subject).to receive(:perform_sync).once.and_call_original
203
+
204
+ subject.first_sync_entity('person', organization, nil, nil, nil, {}, true)
205
+ end
206
+ end
207
+
208
+ context 'when exactly 50 entities' do
209
+ let(:external_entities1) { [*1..50] }
210
+ let(:external_entities1) { [*1..50] }
211
+
212
+ it 'calls perform_sync twice but no infinite loop' do
213
+ expect_any_instance_of(Entities::Person).to receive(:opts_merge!).twice
214
+ expect(subject).to receive(:perform_sync).twice.and_call_original
215
+
216
+ subject.first_sync_entity('person', organization, nil, nil, nil, {}, true)
217
+ end
196
218
  end
197
219
  end
198
220
  end
@@ -12,14 +12,14 @@ describe Maestrano::Connector::Rails::ComplexEntity do
12
12
  it { expect{ subject.external_entities_names }.to raise_error('Not implemented') }
13
13
  end
14
14
 
15
- describe 'count_entities' do
16
- it 'returns the biggest array size' do
15
+ describe 'count_and_first' do
16
+ it 'returns the biggest array size and the first element of the first non empty array' do
17
17
  entities = {
18
+ 'items' => [],
18
19
  'people' => [*1..27],
19
- 'organizations' => [*1..39],
20
- 'items' => []
20
+ 'organizations' => [*3..39]
21
21
  }
22
- expect(subject.count_entities(entities)).to eql(39)
22
+ expect(subject.count_and_first(entities)).to eql(count: 37, first: 1)
23
23
  end
24
24
  end
25
25
 
@@ -6,7 +6,7 @@ describe Maestrano::Connector::Rails::Entity do
6
6
  subject { Maestrano::Connector::Rails::Entity }
7
7
 
8
8
  # IdMap methods
9
- describe 'idmaps mehtods' do
9
+ describe 'idmaps methods' do
10
10
  before {
11
11
  allow(subject).to receive(:connec_entity_name).and_return('Ab')
12
12
  allow(subject).to receive(:external_entity_name).and_return('Ab')
@@ -111,9 +111,9 @@ describe Maestrano::Connector::Rails::Entity do
111
111
  it { expect(subject.connec_matching_fields).to be_nil }
112
112
  end
113
113
 
114
- describe 'count_entities' do
115
- it 'returns the array size' do
116
- expect(subject.count_entities([*1..27])).to eql(27)
114
+ describe 'count_and_first' do
115
+ it 'returns the array size and the first element' do
116
+ expect(subject.count_and_first([*1..27])).to eql(count: 27, first: 1)
117
117
  end
118
118
  end
119
119
 
@@ -452,7 +452,7 @@ describe Maestrano::Connector::Rails::Entity do
452
452
  it 'does one call' do
453
453
  expect(connec_client).to receive(:batch).once
454
454
  subject.push_entities_to_connec_to(entities, connec_name)
455
- end
455
+ end
456
456
  end
457
457
 
458
458
  context 'when more than 100 entities' do
@@ -700,6 +700,12 @@ describe Maestrano::Connector::Rails::Entity do
700
700
  subject.push_entity_to_external(entity_with_idmap2, external_name)
701
701
  expect(idmap2.reload.message).to include(msg.truncate(255))
702
702
  end
703
+
704
+ it 'can raise a custom exception' do
705
+ allow(subject).to receive(:update_external_entity).and_raise(Maestrano::Connector::Rails::Exceptions::EntityNotFoundError.new)
706
+ subject.push_entity_to_external(entity_with_idmap1, external_name)
707
+ expect(idmap1.reload.message).to include("The external_name record has been deleted in External app.")
708
+ end
703
709
  end
704
710
  end
705
711
 
@@ -724,13 +730,13 @@ describe Maestrano::Connector::Rails::Entity do
724
730
  allow(subject.class).to receive(:last_update_date_from_external_entity_hash).and_return(date)
725
731
  allow(subject.class).to receive(:creation_date_from_external_entity_hash).and_return(date)
726
732
  }
727
-
733
+
728
734
  describe 'consolidate_and_map_data' do
729
735
  context 'singleton' do
730
736
  before {
731
737
  allow(subject.class).to receive(:singleton?).and_return(true)
732
738
  }
733
-
739
+
734
740
  it 'returns the consolidate_and_map_singleton method result' do
735
741
  expect(subject).to receive(:consolidate_and_map_singleton).with({}, {}).and_return({result: 1})
736
742
  expect(subject.consolidate_and_map_data({}, {})).to eql({result: 1})
@@ -944,8 +950,8 @@ describe Maestrano::Connector::Rails::Entity do
944
950
  }
945
951
 
946
952
  context 'with connec one more recent' do
947
- let(:external_date) { 1.year.ago }
948
- let(:date) { 1.day.ago }
953
+ let(:external_date) { 1.year.ago }
954
+ let(:date) { 1.day.ago }
949
955
 
950
956
  it 'keeps the entity and discards the external one' do
951
957
  expect(subject.consolidate_and_map_connec_entities(entities, external_entities, [], external_name)).to eql([{entity: {mapped: 'entity'}, idmap: Maestrano::Connector::Rails::IdMap.first, id_refs_only_connec_entity: id_refs_only_connec_entity}])
@@ -954,8 +960,8 @@ describe Maestrano::Connector::Rails::Entity do
954
960
  end
955
961
 
956
962
  context 'with external one more recent' do
957
- let(:external_date) { 1.month.ago }
958
- let(:date) { 1.year.ago }
963
+ let(:external_date) { 1.month.ago }
964
+ let(:date) { 1.year.ago }
959
965
 
960
966
  it 'discards the entity and keep the external one' do
961
967
  expect(subject.consolidate_and_map_connec_entities(entities, external_entities, [], external_name)).to eql([])
@@ -1052,4 +1058,4 @@ describe Maestrano::Connector::Rails::Entity do
1052
1058
 
1053
1059
 
1054
1060
  end
1055
- end
1061
+ end