basecrm 1.3.4 → 1.3.5

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: 5e621bfe41a88f35c122a699674160402813de8b
4
- data.tar.gz: 920db4f000725a80af23bfa9a77c1075580da116
3
+ metadata.gz: 3edd2e23d1f92a60d78428691fec6a7d7496b306
4
+ data.tar.gz: c3b879f523fc99539e444a6f50a16fc484152205
5
5
  SHA512:
6
- metadata.gz: 75bbebdc011bea3940a6d2103fcff88e7e48fd78f9b35de41230c98c959fffd33063b8d56f17c6ac201b65609cec27d23f3f2900b9b64f89efa4208652928dee
7
- data.tar.gz: 784f33b5bc21b7635887c8a29f99904d7d4dacac0f7ce5969a44172e4ebb0b5f7412db3e1018fb74f29c6cf56decbbb7fe26c99b9ac4b499ae07fe142c02cf5f
6
+ metadata.gz: 0e3009c58a14482b185a2359a68f90c90e6754c6babcf3db2077c0a491244c25443aba8b96659097e9ff5224de555378af9a7685c5d6118f146afe992901e223
7
+ data.tar.gz: 40a6886b9e548e7e6fe1fa69d4893bef923a07a101b66aae5aa1dba79430990d791741bce19f8a1361358aa8b9b7dfd336cbee04681df9a109dfb6a83cc2485d
data/README.md CHANGED
@@ -437,6 +437,17 @@ Actions:
437
437
  * Update a task - `client.tasks.update`
438
438
  * Delete a task - `client.tasks.destroy`
439
439
 
440
+ ### TextMessage
441
+
442
+ ```ruby
443
+ client = BaseCRM::Client.new(access_token: "<YOUR_PERSONAL_ACCESS_TOKEN>")
444
+ client.text_messages # => BaseCRM::TextMessagesService
445
+ ```
446
+
447
+ Actions:
448
+ * Retrieve text messages - `client.text_messages.all`
449
+ * Retrieve a single text message - `client.text_messages.find`
450
+
440
451
  ### User
441
452
 
442
453
  ```ruby
@@ -449,6 +460,26 @@ Actions:
449
460
  * Retrieve a single user - `client.users.find`
450
461
  * Retrieve an authenticating user - `client.users.self`
451
462
 
463
+ ### Visit
464
+
465
+ ```ruby
466
+ client = BaseCRM::Client.new(access_token: "<YOUR_PERSONAL_ACCESS_TOKEN>")
467
+ client.visits # => BaseCRM::VisitsService
468
+ ```
469
+
470
+ Actions:
471
+ * Retrieve visits - `client.visits.all`
472
+
473
+ ### VisitOutcome
474
+
475
+ ```ruby
476
+ client = BaseCRM::Client.new(access_token: "<YOUR_PERSONAL_ACCESS_TOKEN>")
477
+ client.visit_outcomes # => BaseCRM::VisitOutcomesService
478
+ ```
479
+
480
+ Actions:
481
+ * Retrieve visit outcomes - `client.visit_outcomes.all`
482
+
452
483
 
453
484
  ## License
454
485
  MIT
@@ -34,7 +34,10 @@ require 'basecrm/models/source'
34
34
  require 'basecrm/models/stage'
35
35
  require 'basecrm/models/tag'
36
36
  require 'basecrm/models/task'
37
+ require 'basecrm/models/text_message'
37
38
  require 'basecrm/models/user'
39
+ require 'basecrm/models/visit'
40
+ require 'basecrm/models/visit_outcome'
38
41
  require 'basecrm/models/sync_queue'
39
42
  require 'basecrm/models/sync_session'
40
43
  require 'basecrm/models/sync_meta'
@@ -61,7 +64,10 @@ require 'basecrm/services/sources_service'
61
64
  require 'basecrm/services/stages_service'
62
65
  require 'basecrm/services/tags_service'
63
66
  require 'basecrm/services/tasks_service'
67
+ require 'basecrm/services/text_messages_service'
64
68
  require 'basecrm/services/users_service'
69
+ require 'basecrm/services/visits_service'
70
+ require 'basecrm/services/visit_outcomes_service'
65
71
  require 'basecrm/services/sync_service'
66
72
 
67
73
  require 'basecrm/sync'
@@ -283,6 +289,15 @@ module BaseCRM
283
289
  @tasks ||= TasksService.new(@http_client)
284
290
  end
285
291
 
292
+ # Access all TextMessages related actions.
293
+ # @see TextMessagesService
294
+ # @see TextMessage
295
+ #
296
+ # @return [TextMessagesService] Service object for resources.
297
+ def text_messages
298
+ @text_messages ||= TextMessagesService.new(@http_client)
299
+ end
300
+
286
301
  # Access all Users related actions.
287
302
  # @see UsersService
288
303
  # @see User
@@ -292,6 +307,24 @@ module BaseCRM
292
307
  @users ||= UsersService.new(@http_client)
293
308
  end
294
309
 
310
+ # Access all Visits related actions.
311
+ # @see VisitsService
312
+ # @see Visit
313
+ #
314
+ # @return [VisitsService] Service object for resources.
315
+ def visits
316
+ @visits ||= VisitsService.new(@http_client)
317
+ end
318
+
319
+ # Access all VisitOutcomes related actions.
320
+ # @see VisitOutcomesService
321
+ # @see VisitOutcome
322
+ #
323
+ # @return [VisitOutcomesService] Service object for resources.
324
+ def visit_outcomes
325
+ @visit_outcomes ||= VisitOutcomesService.new(@http_client)
326
+ end
327
+
295
328
  # Access Sync API related low-level actions.
296
329
  # @see SyncService
297
330
  #
@@ -0,0 +1,43 @@
1
+ # WARNING: This code is auto-generated from the BaseCRM API Discovery JSON Schema
2
+
3
+ module BaseCRM
4
+ class TextMessage < Model
5
+ # @!attribute [r] associated_deal_ids
6
+ # @return [Array<Integer>] An array of ids of deals associated to the text message.
7
+ # attr_reader :associated_deal_ids
8
+ # @!attribute [r] content
9
+ # @return [String] Content of the text message.
10
+ # attr_reader :content
11
+ # @!attribute [r] created_at
12
+ # @return [DateTime] Date and time of creation in UTC (ISO8601 format).
13
+ # attr_reader :created_at
14
+ # @!attribute [r] id
15
+ # @return [Integer] Unique identifier of the text_message.
16
+ # attr_reader :id
17
+ # @!attribute [r] incoming
18
+ # @return [Boolean] Indicator of whether the text message was incoming or not.
19
+ # attr_reader :incoming
20
+ # @!attribute [r] resource_id
21
+ # @return [Integer] Unique identifier of the resource the text message is attached to.
22
+ # attr_reader :resource_id
23
+ # @!attribute [r] resource_phone_number
24
+ # @return [String] Phone number of a resource the text message was sent to/received by.
25
+ # attr_reader :resource_phone_number
26
+ # @!attribute [r] resource_type
27
+ # @return [String] Name of a resource type the text message is attached to.
28
+ # attr_reader :resource_type
29
+ # @!attribute [r] sent_at
30
+ # @return [DateTime] Date and time of the message send time in UTC (ISO8601 format).
31
+ # attr_reader :sent_at
32
+ # @!attribute [r] updated_at
33
+ # @return [DateTime] Date and time of the last update in UTC (ISO8601 format).
34
+ # attr_reader :updated_at
35
+ # @!attribute [r] user_id
36
+ # @return [Integer] Unique identifier of a user who sent/received a text message.
37
+ # attr_reader :user_id
38
+ # @!attribute [r] user_phone_number
39
+ # @return [String] Phone number of a user who sent/received a text message.
40
+ # attr_reader :user_phone_number
41
+
42
+ end
43
+ end
@@ -0,0 +1,37 @@
1
+ # WARNING: This code is auto-generated from the BaseCRM API Discovery JSON Schema
2
+
3
+ module BaseCRM
4
+ class Visit < Model
5
+ # @!attribute [r] created_at
6
+ # @return [DateTime] Date and time of creation in UTC (ISO8601 format).
7
+ # attr_reader :created_at
8
+ # @!attribute [r] creator_id
9
+ # @return [Integer] Unique identifier of a user who created a visit.
10
+ # attr_reader :creator_id
11
+ # @!attribute [r] id
12
+ # @return [Integer] Unique identifier of a visit.
13
+ # attr_reader :id
14
+ # @!attribute [r] outcome_id
15
+ # @return [Integer] Unique identifier of a visit outcome.
16
+ # attr_reader :outcome_id
17
+ # @!attribute [r] rep_location_verification_status
18
+ # @return [String] The status of the location verification of the device that created the visit (sales representative).
19
+ # attr_reader :rep_location_verification_status
20
+ # @!attribute [r] resource_address
21
+ # @return [String] Address of the visit
22
+ # attr_reader :resource_address
23
+ # @!attribute [r] resource_id
24
+ # @return [Integer] The ID of the resource the visit is attached to. Requires the resource_type query param to be set as well.
25
+ # attr_reader :resource_id
26
+ # @!attribute [r] resource_type
27
+ # @return [String] The type of the resource the visit is attached to.
28
+ # attr_reader :resource_type
29
+ # @!attribute [r] summary
30
+ # @return [String] Summary of the visit.
31
+ # attr_reader :summary
32
+ # @!attribute [r] updated_at
33
+ # @return [DateTime] Date and time of the last update in UTC (ISO8601 format).
34
+ # attr_reader :updated_at
35
+
36
+ end
37
+ end
@@ -0,0 +1,19 @@
1
+ # WARNING: This code is auto-generated from the BaseCRM API Discovery JSON Schema
2
+
3
+ module BaseCRM
4
+ class VisitOutcome < Model
5
+ # @!attribute [r] created_at
6
+ # @return [DateTime] Date and time of creation in UTC (ISO8601 format).
7
+ # attr_reader :created_at
8
+ # @!attribute [r] id
9
+ # @return [Integer] Unique identifier of a visit outcome.
10
+ # attr_reader :id
11
+ # @!attribute [r] name
12
+ # @return [String] Name of the visit outcome.
13
+ # attr_reader :name
14
+ # @!attribute [r] updated_at
15
+ # @return [DateTime] Date and time of the last update in UTC (ISO8601 format).
16
+ # attr_reader :updated_at
17
+
18
+ end
19
+ end
@@ -0,0 +1,67 @@
1
+ # WARNING: This code is auto-generated from the BaseCRM API Discovery JSON Schema
2
+
3
+ module BaseCRM
4
+ class TextMessagesService
5
+ def initialize(client)
6
+ @client = client
7
+ end
8
+
9
+ # Retrieve text messages
10
+ #
11
+ # get '/text_messages'
12
+ #
13
+ # If you want to use filtering or sorting (see #where).
14
+ # @return [Enumerable] Paginated resource you can use to iterate over all the resources.
15
+ def all
16
+ PaginatedResource.new(self)
17
+ end
18
+
19
+ # Retrieve text messages
20
+ #
21
+ # get '/text_messages'
22
+ #
23
+ # Returns Text Messages, according to the parameters provided
24
+ #
25
+ # @param options [Hash] Search options
26
+ # @option options [Integer] :page (1) Page number to start from. Page numbering starts at 1, and omitting the `page` parameter will return the first page.
27
+ # @option options [Integer] :per_page (25) Number of records to return per page. The default limit is *25* and the maximum number that can be returned at one time is *100*.
28
+ # @option options [String] :ids Comma-separated list of text message IDs to be returned in request.
29
+ # @option options [Integer] :resource_id Unique identifier of a resource the text message is attached to. Requires also resource_type to be specified.
30
+ # @option options [String] :resource_type Name of a resource type the text message is attached to. Requires also resource_id to be specified.
31
+ # @option options [String] :sort_by (id:desc) Comma-separated list of fields to sort by. The sort criteria is applied in the order specified. The **default** ordering is **descending**. If you want to change the sort ordering to ascending, append `:asc` to the field e.g. `sort_by=id:asc`
32
+ # @return [Array<TextMessage>] The list of TextMessages for the first page, unless otherwise specified.
33
+ def where(options = {})
34
+ _, _, root = @client.get("/text_messages", options)
35
+
36
+ root[:items].map{ |item| TextMessage.new(item[:data]) }
37
+ end
38
+
39
+
40
+ # Retrieve a single text message
41
+ #
42
+ # get '/text_messages/{id}'
43
+ #
44
+ # Returns a single text message according to the unique ID provided
45
+ # If the specified user does not exist, this query returns an error
46
+ #
47
+ # @param id [Integer] Unique identifier of a TextMessage
48
+ # @return [TextMessage] Searched resource object.
49
+ def find(id)
50
+ _, _, root = @client.get("/text_messages/#{id}")
51
+
52
+ TextMessage.new(root[:data])
53
+ end
54
+
55
+
56
+ private
57
+ def validate_type!(text_message)
58
+ raise TypeError unless text_message.is_a?(TextMessage) || text_message.is_a?(Hash)
59
+ end
60
+
61
+ def extract_params!(text_message, *args)
62
+ params = text_message.to_h.select{ |k, _| args.include?(k) }
63
+ raise ArgumentError, "one of required attributes is missing. Expected: #{args.join(',')}" if params.count != args.length
64
+ params
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,47 @@
1
+ # WARNING: This code is auto-generated from the BaseCRM API Discovery JSON Schema
2
+
3
+ module BaseCRM
4
+ class VisitOutcomesService
5
+ def initialize(client)
6
+ @client = client
7
+ end
8
+
9
+ # Retrieve visit outcomes
10
+ #
11
+ # get '/visit_outcomes'
12
+ #
13
+ # If you want to use filtering or sorting (see #where).
14
+ # @return [Enumerable] Paginated resource you can use to iterate over all the resources.
15
+ def all
16
+ PaginatedResource.new(self)
17
+ end
18
+
19
+ # Retrieve visit outcomes
20
+ #
21
+ # get '/visit_outcomes'
22
+ #
23
+ # Returns Visit Outcomes, according to the parameters provided
24
+ #
25
+ # @param options [Hash] Search options
26
+ # @option options [Integer] :page (1) Page number to start from. Page numbering starts at 1, and omitting the `page` parameter will return the first page.
27
+ # @option options [Integer] :per_page (25) Number of records to return per page. The default limit is *25* and the maximum number that can be returned at one time is *100*.
28
+ # @return [Array<VisitOutcome>] The list of VisitOutcomes for the first page, unless otherwise specified.
29
+ def where(options = {})
30
+ _, _, root = @client.get("/visit_outcomes", options)
31
+
32
+ root[:items].map{ |item| VisitOutcome.new(item[:data]) }
33
+ end
34
+
35
+
36
+ private
37
+ def validate_type!(visit_outcome)
38
+ raise TypeError unless visit_outcome.is_a?(VisitOutcome) || visit_outcome.is_a?(Hash)
39
+ end
40
+
41
+ def extract_params!(visit_outcome, *args)
42
+ params = visit_outcome.to_h.select{ |k, _| args.include?(k) }
43
+ raise ArgumentError, "one of required attributes is missing. Expected: #{args.join(',')}" if params.count != args.length
44
+ params
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,53 @@
1
+ # WARNING: This code is auto-generated from the BaseCRM API Discovery JSON Schema
2
+
3
+ module BaseCRM
4
+ class VisitsService
5
+ def initialize(client)
6
+ @client = client
7
+ end
8
+
9
+ # Retrieve visits
10
+ #
11
+ # get '/visits'
12
+ #
13
+ # If you want to use filtering or sorting (see #where).
14
+ # @return [Enumerable] Paginated resource you can use to iterate over all the resources.
15
+ def all
16
+ PaginatedResource.new(self)
17
+ end
18
+
19
+ # Retrieve visits
20
+ #
21
+ # get '/visits'
22
+ #
23
+ # Returns Visits, according to the parameters provided
24
+ #
25
+ # @param options [Hash] Search options
26
+ # @option options [Integer] :page (1) Page number to start from. Page numbering starts at 1, and omitting the `page` parameter will return the first page.
27
+ # @option options [Integer] :per_page (25) Number of records to return per page. The default limit is *25* and the maximum number that can be returned at one time is *100*.
28
+ # @option options [Integer] :outcome_id Unique identifier of a visit outcome.
29
+ # @option options [Integer] :creator_id Unique identifier of a user who created a visit.
30
+ # @option options [Integer] :resource_id Unique identifier of a resource the visit is attached to. Requires also resource_type to be specified.
31
+ # @option options [String] :resource_type Name of a resource type the visit is attached to. Requires also resource_id to be specified.
32
+ # @option options [String] :rep_location_verification_status The status of the location verification of the device that created the visit (sales representative).
33
+ # @option options [String] :sort_by (id:asc) A field to sort by. Default ordering is ascending. If you want to change the sort order to descending, append :desc to the filed e.g. sort_by=visited_at:desc.
34
+ # @return [Array<Visit>] The list of Visits for the first page, unless otherwise specified.
35
+ def where(options = {})
36
+ _, _, root = @client.get("/visits", options)
37
+
38
+ root[:items].map{ |item| Visit.new(item[:data]) }
39
+ end
40
+
41
+
42
+ private
43
+ def validate_type!(visit)
44
+ raise TypeError unless visit.is_a?(Visit) || visit.is_a?(Hash)
45
+ end
46
+
47
+ def extract_params!(visit, *args)
48
+ params = visit.to_h.select{ |k, _| args.include?(k) }
49
+ raise ArgumentError, "one of required attributes is missing. Expected: #{args.join(',')}" if params.count != args.length
50
+ params
51
+ end
52
+ end
53
+ end
@@ -1,3 +1,3 @@
1
1
  module BaseCRM
2
- VERSION = "1.3.4"
2
+ VERSION = "1.3.5"
3
3
  end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+ factory :text_message, class: BaseCRM::TextMessage do
3
+
4
+
5
+
6
+ end
7
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe BaseCRM::TextMessagesService do
4
+ describe 'Responds to' do
5
+ subject { client.text_messages }
6
+
7
+ it { should respond_to :all }
8
+ it { should respond_to :find }
9
+ it { should respond_to :where }
10
+ end
11
+
12
+ describe :all do
13
+ it "returns a PaginatedResource" do
14
+ expect(client.text_messages.all()).to be_instance_of BaseCRM::PaginatedResource
15
+ end
16
+ end
17
+
18
+ describe :where do
19
+ it "returns an array" do
20
+ expect(client.text_messages.where(page: 1)).to be_an Array
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe BaseCRM::VisitOutcomesService do
4
+ describe 'Responds to' do
5
+ subject { client.visit_outcomes }
6
+
7
+ it { should respond_to :all }
8
+ it { should respond_to :where }
9
+ end
10
+
11
+ describe :all do
12
+ it "returns a PaginatedResource" do
13
+ expect(client.visit_outcomes.all()).to be_instance_of BaseCRM::PaginatedResource
14
+ end
15
+ end
16
+
17
+ describe :where do
18
+ it "returns an array" do
19
+ expect(client.visit_outcomes.where(page: 1)).to be_an Array
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe BaseCRM::VisitsService do
4
+ describe 'Responds to' do
5
+ subject { client.visits }
6
+
7
+ it { should respond_to :all }
8
+ it { should respond_to :where }
9
+ end
10
+
11
+ describe :all do
12
+ it "returns a PaginatedResource" do
13
+ expect(client.visits.all()).to be_instance_of BaseCRM::PaginatedResource
14
+ end
15
+ end
16
+
17
+ describe :where do
18
+ it "returns an array" do
19
+ expect(client.visits.where(page: 1)).to be_an Array
20
+ end
21
+ end
22
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: basecrm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.4
4
+ version: 1.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - BaseCRM developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-04 00:00:00.000000000 Z
11
+ date: 2018-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -158,7 +158,10 @@ files:
158
158
  - lib/basecrm/models/sync_session.rb
159
159
  - lib/basecrm/models/tag.rb
160
160
  - lib/basecrm/models/task.rb
161
+ - lib/basecrm/models/text_message.rb
161
162
  - lib/basecrm/models/user.rb
163
+ - lib/basecrm/models/visit.rb
164
+ - lib/basecrm/models/visit_outcome.rb
162
165
  - lib/basecrm/paginated_resource.rb
163
166
  - lib/basecrm/services/accounts_service.rb
164
167
  - lib/basecrm/services/associated_contacts_service.rb
@@ -182,7 +185,10 @@ files:
182
185
  - lib/basecrm/services/sync_service.rb
183
186
  - lib/basecrm/services/tags_service.rb
184
187
  - lib/basecrm/services/tasks_service.rb
188
+ - lib/basecrm/services/text_messages_service.rb
185
189
  - lib/basecrm/services/users_service.rb
190
+ - lib/basecrm/services/visit_outcomes_service.rb
191
+ - lib/basecrm/services/visits_service.rb
186
192
  - lib/basecrm/sync.rb
187
193
  - lib/basecrm/utils/coercion.rb
188
194
  - lib/basecrm/version.rb
@@ -204,6 +210,7 @@ files:
204
210
  - spec/factories/source.rb
205
211
  - spec/factories/tag.rb
206
212
  - spec/factories/task.rb
213
+ - spec/factories/text_message.rb
207
214
  - spec/middlewares/raise_error_spec.rb
208
215
  - spec/models/sync_meta_spec.rb
209
216
  - spec/services/accounts_service_spec.rb
@@ -228,7 +235,10 @@ files:
228
235
  - spec/services/sync_service_spec.rb
229
236
  - spec/services/tags_service_spec.rb
230
237
  - spec/services/tasks_service_spec.rb
238
+ - spec/services/text_messages_service_spec.rb
231
239
  - spec/services/users_service_spec.rb
240
+ - spec/services/visit_outcomes_service_spec.rb
241
+ - spec/services/visits_service_spec.rb
232
242
  - spec/spec_helper.rb
233
243
  - spec/support/client_helpers.rb
234
244
  - spec/utils/coercion.rb
@@ -253,7 +263,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
253
263
  version: '0'
254
264
  requirements: []
255
265
  rubyforge_project:
256
- rubygems_version: 2.5.2
266
+ rubygems_version: 2.5.2.3
257
267
  signing_key:
258
268
  specification_version: 4
259
269
  summary: BaseCRM Official API V2 library client for ruby
@@ -271,6 +281,7 @@ test_files:
271
281
  - spec/factories/deal.rb
272
282
  - spec/factories/call.rb
273
283
  - spec/factories/product.rb
284
+ - spec/factories/text_message.rb
274
285
  - spec/factories/lead.rb
275
286
  - spec/factories/deal_unqualified_reason.rb
276
287
  - spec/factories/lead_unqualified_reason.rb
@@ -283,6 +294,7 @@ test_files:
283
294
  - spec/factories/task.rb
284
295
  - spec/basecrm/sync_spec.rb
285
296
  - spec/services/notes_service_spec.rb
297
+ - spec/services/text_messages_service_spec.rb
286
298
  - spec/services/pipelines_service_spec.rb
287
299
  - spec/services/sources_service_spec.rb
288
300
  - spec/services/orders_service_spec.rb
@@ -298,8 +310,10 @@ test_files:
298
310
  - spec/services/line_items_service_spec.rb
299
311
  - spec/services/loss_reasons_service_spec.rb
300
312
  - spec/services/deal_sources_service_spec.rb
313
+ - spec/services/visit_outcomes_service_spec.rb
301
314
  - spec/services/calls_service_spec.rb
302
315
  - spec/services/deal_unqualified_reasons_service_spec.rb
316
+ - spec/services/visits_service_spec.rb
303
317
  - spec/services/sync_service_spec.rb
304
318
  - spec/services/lead_unqualified_reasons_service_spec.rb
305
319
  - spec/services/accounts_service_spec.rb