basecrm 1.3.3 → 1.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -0
- data/lib/basecrm.rb +22 -0
- data/lib/basecrm/models/call.rb +52 -0
- data/lib/basecrm/models/call_outcome.rb +22 -0
- data/lib/basecrm/services/call_outcomes_service.rb +48 -0
- data/lib/basecrm/services/calls_service.rb +127 -0
- data/lib/basecrm/version.rb +1 -1
- data/spec/factories/call.rb +20 -0
- data/spec/services/call_outcomes_service_spec.rb +22 -0
- data/spec/services/calls_service_spec.rb +59 -0
- metadata +12 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e621bfe41a88f35c122a699674160402813de8b
|
4
|
+
data.tar.gz: 920db4f000725a80af23bfa9a77c1075580da116
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75bbebdc011bea3940a6d2103fcff88e7e48fd78f9b35de41230c98c959fffd33063b8d56f17c6ac201b65609cec27d23f3f2900b9b64f89efa4208652928dee
|
7
|
+
data.tar.gz: 784f33b5bc21b7635887c8a29f99904d7d4dacac0f7ce5969a44172e4ebb0b5f7412db3e1018fb74f29c6cf56decbbb7fe26c99b9ac4b499ae07fe142c02cf5f
|
data/README.md
CHANGED
@@ -174,6 +174,30 @@ Actions:
|
|
174
174
|
* Create an associated contact - `client.associated_contacts.create`
|
175
175
|
* Remove an associated contact - `client.associated_contacts.destroy`
|
176
176
|
|
177
|
+
### Call
|
178
|
+
|
179
|
+
```ruby
|
180
|
+
client = BaseCRM::Client.new(access_token: "<YOUR_PERSONAL_ACCESS_TOKEN>")
|
181
|
+
client.calls # => BaseCRM::CallsService
|
182
|
+
```
|
183
|
+
|
184
|
+
Actions:
|
185
|
+
* Retrieve all calls - `client.calls.all`
|
186
|
+
* Create a call - `client.calls.create`
|
187
|
+
* Retrieve a single call - `client.calls.find`
|
188
|
+
* Update a call - `client.calls.update`
|
189
|
+
* Delete a call - `client.calls.destroy`
|
190
|
+
|
191
|
+
### CallOutcome
|
192
|
+
|
193
|
+
```ruby
|
194
|
+
client = BaseCRM::Client.new(access_token: "<YOUR_PERSONAL_ACCESS_TOKEN>")
|
195
|
+
client.call_outcomes # => BaseCRM::CallOutcomesService
|
196
|
+
```
|
197
|
+
|
198
|
+
Actions:
|
199
|
+
* Retrieve all call outcomes - `client.call_outcomes.all`
|
200
|
+
|
177
201
|
### Contact
|
178
202
|
|
179
203
|
```ruby
|
data/lib/basecrm.rb
CHANGED
@@ -14,6 +14,8 @@ require 'basecrm/models/meta'
|
|
14
14
|
require 'basecrm/models/account'
|
15
15
|
require 'basecrm/models/address'
|
16
16
|
require 'basecrm/models/associated_contact'
|
17
|
+
require 'basecrm/models/call'
|
18
|
+
require 'basecrm/models/call_outcome'
|
17
19
|
require 'basecrm/models/contact'
|
18
20
|
require 'basecrm/models/deal'
|
19
21
|
require 'basecrm/models/deal_source'
|
@@ -40,6 +42,8 @@ require 'basecrm/models/sync_meta'
|
|
40
42
|
require 'basecrm/paginated_resource'
|
41
43
|
require 'basecrm/services/accounts_service'
|
42
44
|
require 'basecrm/services/associated_contacts_service'
|
45
|
+
require 'basecrm/services/calls_service'
|
46
|
+
require 'basecrm/services/call_outcomes_service'
|
43
47
|
require 'basecrm/services/contacts_service'
|
44
48
|
require 'basecrm/services/deals_service'
|
45
49
|
require 'basecrm/services/deal_sources_service'
|
@@ -108,6 +112,24 @@ module BaseCRM
|
|
108
112
|
@associated_contacts ||= AssociatedContactsService.new(@http_client)
|
109
113
|
end
|
110
114
|
|
115
|
+
# Access all Calls related actions.
|
116
|
+
# @see CallsService
|
117
|
+
# @see Call
|
118
|
+
#
|
119
|
+
# @return [CallsService] Service object for resources.
|
120
|
+
def calls
|
121
|
+
@calls ||= CallsService.new(@http_client)
|
122
|
+
end
|
123
|
+
|
124
|
+
# Access all CallOutcomes related actions.
|
125
|
+
# @see CallOutcomesService
|
126
|
+
# @see CallOutcome
|
127
|
+
#
|
128
|
+
# @return [CallOutcomesService] Service object for resources.
|
129
|
+
def call_outcomes
|
130
|
+
@call_outcomes ||= CallOutcomesService.new(@http_client)
|
131
|
+
end
|
132
|
+
|
111
133
|
# Access all Contacts related actions.
|
112
134
|
# @see ContactsService
|
113
135
|
# @see Contact
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# WARNING: This code is auto-generated from the BaseCRM API Discovery JSON Schema
|
2
|
+
|
3
|
+
module BaseCRM
|
4
|
+
class Call < Model
|
5
|
+
# @!attribute [r] id
|
6
|
+
# @return [Integer] Unique identifier of the call.
|
7
|
+
# attr_reader :id
|
8
|
+
# @!attribute [r] upated_at
|
9
|
+
# @return [DateTime] Date and time of the last update in UTC (ISO8601 format).
|
10
|
+
# attr_reader :upated_at
|
11
|
+
|
12
|
+
# @!attribute [rw] associated_deal_ids
|
13
|
+
# @return [Array<Integer>] An array of ids of deals associated to the call.
|
14
|
+
# attr_accessor :associated_deal_ids
|
15
|
+
# @!attribute [rw] duration
|
16
|
+
# @return [Integer] Duration of the call in seconds.
|
17
|
+
# attr_accessor :duration
|
18
|
+
# @!attribute [rw] external_id
|
19
|
+
# @return [String] Unique identifier of a call from an external system.
|
20
|
+
# attr_accessor :external_id
|
21
|
+
# @!attribute [rw] incoming
|
22
|
+
# @return [Boolean] Phone number of the person with which the call was made.
|
23
|
+
# attr_accessor :incoming
|
24
|
+
# @!attribute [rw] made_at
|
25
|
+
# @return [DateTime] Date and time of when the call was made (started) in UTC (ISO8601 format).
|
26
|
+
# attr_accessor :made_at
|
27
|
+
# @!attribute [rw] missed
|
28
|
+
# @return [Boolean] Indicator of whether the call was missed (not answered) by the user or not.
|
29
|
+
# attr_accessor :missed
|
30
|
+
# @!attribute [rw] outcome_id
|
31
|
+
# @return [Integer] Unique identifier of Call Outcome assigned to the call.
|
32
|
+
# attr_accessor :outcome_id
|
33
|
+
# @!attribute [rw] phone_number
|
34
|
+
# @return [String] Indicator of whether the call was incoming or not.
|
35
|
+
# attr_accessor :phone_number
|
36
|
+
# @!attribute [rw] recording_url
|
37
|
+
# @return [String] URL pointing to call recording.
|
38
|
+
# attr_accessor :recording_url
|
39
|
+
# @!attribute [rw] resource_id
|
40
|
+
# @return [Integer] Unique identifier of the resource the call is attached to.
|
41
|
+
# attr_accessor :resource_id
|
42
|
+
# @!attribute [rw] resource_type
|
43
|
+
# @return [String] Name of the resource type the call is attached to.
|
44
|
+
# attr_accessor :resource_type
|
45
|
+
# @!attribute [rw] summary
|
46
|
+
# @return [String] Content of the note about this call.
|
47
|
+
# attr_accessor :summary
|
48
|
+
# @!attribute [rw] user_id
|
49
|
+
# @return [Integer] Unique identifier of the user who performed the call.
|
50
|
+
# attr_accessor :user_id
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# WARNING: This code is auto-generated from the BaseCRM API Discovery JSON Schema
|
2
|
+
|
3
|
+
module BaseCRM
|
4
|
+
class CallOutcome < Model
|
5
|
+
# @!attribute [r] created_at
|
6
|
+
# @return [DateTime] Date and time of when the call outcome was created in UTC (ISO8601 format).
|
7
|
+
# attr_reader :created_at
|
8
|
+
# @!attribute [r] creator_id
|
9
|
+
# @return [Integer] Unique identifier of the user who created the call outcome.
|
10
|
+
# attr_reader :creator_id
|
11
|
+
# @!attribute [r] id
|
12
|
+
# @return [Integer] Unique identifier of the call outcome.
|
13
|
+
# attr_reader :id
|
14
|
+
# @!attribute [r] name
|
15
|
+
# @return [String] Name of the call outcome.
|
16
|
+
# attr_reader :name
|
17
|
+
# @!attribute [r] updated_at
|
18
|
+
# @return [DateTime] Date and time of the last update in UTC (ISO8601 format).
|
19
|
+
# attr_reader :updated_at
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# WARNING: This code is auto-generated from the BaseCRM API Discovery JSON Schema
|
2
|
+
|
3
|
+
module BaseCRM
|
4
|
+
class CallOutcomesService
|
5
|
+
def initialize(client)
|
6
|
+
@client = client
|
7
|
+
end
|
8
|
+
|
9
|
+
# Retrieve all call outcomes
|
10
|
+
#
|
11
|
+
# get '/call_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 all call outcomes
|
20
|
+
#
|
21
|
+
# get '/call_outcomes'
|
22
|
+
#
|
23
|
+
# Returns all call outcomes available to the user, according to the parameters provided
|
24
|
+
# Call outcomes are always sorted by id in ascending order
|
25
|
+
#
|
26
|
+
# @param options [Hash] Search options
|
27
|
+
# @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.
|
28
|
+
# @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*.
|
29
|
+
# @return [Array<CallOutcome>] The list of CallOutcomes for the first page, unless otherwise specified.
|
30
|
+
def where(options = {})
|
31
|
+
_, _, root = @client.get("/call_outcomes", options)
|
32
|
+
|
33
|
+
root[:items].map{ |item| CallOutcome.new(item[:data]) }
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
private
|
38
|
+
def validate_type!(call_outcome)
|
39
|
+
raise TypeError unless call_outcome.is_a?(CallOutcome) || call_outcome.is_a?(Hash)
|
40
|
+
end
|
41
|
+
|
42
|
+
def extract_params!(call_outcome, *args)
|
43
|
+
params = call_outcome.to_h.select{ |k, _| args.include?(k) }
|
44
|
+
raise ArgumentError, "one of required attributes is missing. Expected: #{args.join(',')}" if params.count != args.length
|
45
|
+
params
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,127 @@
|
|
1
|
+
# WARNING: This code is auto-generated from the BaseCRM API Discovery JSON Schema
|
2
|
+
|
3
|
+
module BaseCRM
|
4
|
+
class CallsService
|
5
|
+
OPTS_KEYS_TO_PERSIST = Set[:user_id, :summary, :recording_url, :outcome_id, :duration, :phone_number, :incoming, :missed, :external_id, :resource_id, :resource_type, :associated_deal_ids, :made_at]
|
6
|
+
|
7
|
+
def initialize(client)
|
8
|
+
@client = client
|
9
|
+
end
|
10
|
+
|
11
|
+
# Retrieve all calls
|
12
|
+
#
|
13
|
+
# get '/calls'
|
14
|
+
#
|
15
|
+
# If you want to use filtering or sorting (see #where).
|
16
|
+
# @return [Enumerable] Paginated resource you can use to iterate over all the resources.
|
17
|
+
def all
|
18
|
+
PaginatedResource.new(self)
|
19
|
+
end
|
20
|
+
|
21
|
+
# Retrieve all calls
|
22
|
+
#
|
23
|
+
# get '/calls'
|
24
|
+
#
|
25
|
+
# Returns all calls available to the user, according to the parameters provided
|
26
|
+
# Calls are always sorted by made_at in descending order
|
27
|
+
#
|
28
|
+
# @param options [Hash] Search options
|
29
|
+
# @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.
|
30
|
+
# @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*.
|
31
|
+
# @option options [String] :ids Comma-separated list of call IDs to be returned in request.
|
32
|
+
# @option options [Integer] :resource_id Unique identifier of the resource the call is attached to.
|
33
|
+
# @option options [String] :resource_type Name of the resource type the call is attached to.
|
34
|
+
# @return [Array<Call>] The list of Calls for the first page, unless otherwise specified.
|
35
|
+
def where(options = {})
|
36
|
+
_, _, root = @client.get("/calls", options)
|
37
|
+
|
38
|
+
root[:items].map{ |item| Call.new(item[:data]) }
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
# Create a call
|
43
|
+
#
|
44
|
+
# post '/calls'
|
45
|
+
#
|
46
|
+
# Create a new call
|
47
|
+
#
|
48
|
+
# @param call [Call, Hash] Either object of the Call type or Hash. This object's attributes describe the object to be created.
|
49
|
+
# @return [Call] The resulting object represting created resource.
|
50
|
+
def create(call)
|
51
|
+
validate_type!(call)
|
52
|
+
|
53
|
+
attributes = sanitize(call)
|
54
|
+
_, _, root = @client.post("/calls", attributes)
|
55
|
+
|
56
|
+
Call.new(root[:data])
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
# Retrieve a single call
|
61
|
+
#
|
62
|
+
# get '/calls/{id}'
|
63
|
+
#
|
64
|
+
# Returns a single call available to the user, according to the unique call ID provided
|
65
|
+
# If the specified call does not exist, this query returns an error
|
66
|
+
#
|
67
|
+
# @param id [Integer] Unique identifier of a Call
|
68
|
+
# @return [Call] Searched resource object.
|
69
|
+
def find(id)
|
70
|
+
_, _, root = @client.get("/calls/#{id}")
|
71
|
+
|
72
|
+
Call.new(root[:data])
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
# Update a call
|
77
|
+
#
|
78
|
+
# put '/calls/{id}'
|
79
|
+
#
|
80
|
+
# Allows to attach a Contact or Lead to an existing Call, or change it’s current association
|
81
|
+
#
|
82
|
+
# @param call [Call, Hash] Either object of the Call type or Hash. This object's attributes describe the object to be updated.
|
83
|
+
# @return [Call] The resulting object represting updated resource.
|
84
|
+
def update(call)
|
85
|
+
validate_type!(call)
|
86
|
+
params = extract_params!(call, :id)
|
87
|
+
id = params[:id]
|
88
|
+
|
89
|
+
attributes = sanitize(call)
|
90
|
+
_, _, root = @client.put("/calls/#{id}", attributes)
|
91
|
+
|
92
|
+
Call.new(root[:data])
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
# Delete a call
|
97
|
+
#
|
98
|
+
# delete '/calls/{id}'
|
99
|
+
#
|
100
|
+
# Delete an existing call
|
101
|
+
# If the specified call does not exist, this query returns an error
|
102
|
+
# This operation cannot be undone
|
103
|
+
#
|
104
|
+
# @param id [Integer] Unique identifier of a Call
|
105
|
+
# @return [Boolean] Status of the operation.
|
106
|
+
def destroy(id)
|
107
|
+
status, _, _ = @client.delete("/calls/#{id}")
|
108
|
+
status == 204
|
109
|
+
end
|
110
|
+
|
111
|
+
|
112
|
+
private
|
113
|
+
def validate_type!(call)
|
114
|
+
raise TypeError unless call.is_a?(Call) || call.is_a?(Hash)
|
115
|
+
end
|
116
|
+
|
117
|
+
def extract_params!(call, *args)
|
118
|
+
params = call.to_h.select{ |k, _| args.include?(k) }
|
119
|
+
raise ArgumentError, "one of required attributes is missing. Expected: #{args.join(',')}" if params.count != args.length
|
120
|
+
params
|
121
|
+
end
|
122
|
+
|
123
|
+
def sanitize(call)
|
124
|
+
call.to_h.select { |k, _| OPTS_KEYS_TO_PERSIST.include?(k) }
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
data/lib/basecrm/version.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'securerandom'
|
2
|
+
|
3
|
+
FactoryGirl.define do
|
4
|
+
factory :call, class: BaseCRM::Call do
|
5
|
+
|
6
|
+
summary { "Schedule another call." }
|
7
|
+
recording_url { "https://api.twilio.com/2010-04-01/Accounts/hAkjsahhd719e/Recordings/RKOHurusajda" }
|
8
|
+
duration { 44 }
|
9
|
+
phone_number { "+44-208-1234567" }
|
10
|
+
incoming { true }
|
11
|
+
missed { false }
|
12
|
+
external_id { SecureRandom.hex(32) }
|
13
|
+
made_at { "2014-09-27T16:32:56+00:00" }
|
14
|
+
|
15
|
+
|
16
|
+
to_create do |call|
|
17
|
+
client.calls.create(call)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe BaseCRM::CallOutcomesService do
|
4
|
+
describe 'Responds to' do
|
5
|
+
subject { client.call_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.call_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.call_outcomes.where(page: 1)).to be_an Array
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe BaseCRM::CallsService do
|
4
|
+
describe 'Responds to' do
|
5
|
+
subject { client.calls }
|
6
|
+
|
7
|
+
it { should respond_to :all }
|
8
|
+
it { should respond_to :create }
|
9
|
+
it { should respond_to :destroy }
|
10
|
+
it { should respond_to :find }
|
11
|
+
it { should respond_to :update }
|
12
|
+
it { should respond_to :where }
|
13
|
+
end
|
14
|
+
|
15
|
+
describe :all do
|
16
|
+
it "returns a PaginatedResource" do
|
17
|
+
expect(client.calls.all()).to be_instance_of BaseCRM::PaginatedResource
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe :where do
|
22
|
+
it "returns an array" do
|
23
|
+
expect(client.calls.where(page: 1)).to be_an Array
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe :create do
|
28
|
+
it "returns instance of Call class" do
|
29
|
+
@call = build(:call)
|
30
|
+
expect(client.calls.create(@call)).to be_instance_of BaseCRM::Call
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe :find do
|
35
|
+
before :each do
|
36
|
+
@call = create(:call)
|
37
|
+
end
|
38
|
+
|
39
|
+
it "returns an instance of Call class" do
|
40
|
+
expect(client.calls.find(@call.id)).to be_instance_of BaseCRM::Call
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe :update do
|
45
|
+
it "returns an updated instance of Call class" do
|
46
|
+
@call = create(:call)
|
47
|
+
contact = create(:contact)
|
48
|
+
|
49
|
+
expect(client.calls.update(id: @call.id, resource_type: "contact", resource_id: contact.id)).to be_instance_of BaseCRM::Call
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
describe :destroy do
|
54
|
+
it "returns true on success" do
|
55
|
+
@call = create(:call)
|
56
|
+
expect(client.calls.destroy(@call.id)).to be_truthy
|
57
|
+
end
|
58
|
+
end
|
59
|
+
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
|
+
version: 1.3.4
|
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-
|
11
|
+
date: 2018-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -134,6 +134,8 @@ files:
|
|
134
134
|
- lib/basecrm/models/account.rb
|
135
135
|
- lib/basecrm/models/address.rb
|
136
136
|
- lib/basecrm/models/associated_contact.rb
|
137
|
+
- lib/basecrm/models/call.rb
|
138
|
+
- lib/basecrm/models/call_outcome.rb
|
137
139
|
- lib/basecrm/models/contact.rb
|
138
140
|
- lib/basecrm/models/deal.rb
|
139
141
|
- lib/basecrm/models/deal_source.rb
|
@@ -160,6 +162,8 @@ files:
|
|
160
162
|
- lib/basecrm/paginated_resource.rb
|
161
163
|
- lib/basecrm/services/accounts_service.rb
|
162
164
|
- lib/basecrm/services/associated_contacts_service.rb
|
165
|
+
- lib/basecrm/services/call_outcomes_service.rb
|
166
|
+
- lib/basecrm/services/calls_service.rb
|
163
167
|
- lib/basecrm/services/contacts_service.rb
|
164
168
|
- lib/basecrm/services/deal_sources_service.rb
|
165
169
|
- lib/basecrm/services/deal_unqualified_reasons_service.rb
|
@@ -184,6 +188,7 @@ files:
|
|
184
188
|
- lib/basecrm/version.rb
|
185
189
|
- spec/basecrm/sync_spec.rb
|
186
190
|
- spec/factories/associated_contact.rb
|
191
|
+
- spec/factories/call.rb
|
187
192
|
- spec/factories/contact.rb
|
188
193
|
- spec/factories/deal.rb
|
189
194
|
- spec/factories/deal_source.rb
|
@@ -203,6 +208,8 @@ files:
|
|
203
208
|
- spec/models/sync_meta_spec.rb
|
204
209
|
- spec/services/accounts_service_spec.rb
|
205
210
|
- spec/services/associated_contacts_service_spec.rb
|
211
|
+
- spec/services/call_outcomes_service_spec.rb
|
212
|
+
- spec/services/calls_service_spec.rb
|
206
213
|
- spec/services/contacts_service_spec.rb
|
207
214
|
- spec/services/deal_sources_service_spec.rb
|
208
215
|
- spec/services/deal_unqualified_reasons_service_spec.rb
|
@@ -262,6 +269,7 @@ test_files:
|
|
262
269
|
- spec/factories/tag.rb
|
263
270
|
- spec/factories/contact.rb
|
264
271
|
- spec/factories/deal.rb
|
272
|
+
- spec/factories/call.rb
|
265
273
|
- spec/factories/product.rb
|
266
274
|
- spec/factories/lead.rb
|
267
275
|
- spec/factories/deal_unqualified_reason.rb
|
@@ -282,6 +290,7 @@ test_files:
|
|
282
290
|
- spec/services/stages_service_spec.rb
|
283
291
|
- spec/services/tags_service_spec.rb
|
284
292
|
- spec/services/products_service_spec.rb
|
293
|
+
- spec/services/call_outcomes_service_spec.rb
|
285
294
|
- spec/services/lead_sources_service_spec.rb
|
286
295
|
- spec/services/associated_contacts_service_spec.rb
|
287
296
|
- spec/services/users_service_spec.rb
|
@@ -289,6 +298,7 @@ test_files:
|
|
289
298
|
- spec/services/line_items_service_spec.rb
|
290
299
|
- spec/services/loss_reasons_service_spec.rb
|
291
300
|
- spec/services/deal_sources_service_spec.rb
|
301
|
+
- spec/services/calls_service_spec.rb
|
292
302
|
- spec/services/deal_unqualified_reasons_service_spec.rb
|
293
303
|
- spec/services/sync_service_spec.rb
|
294
304
|
- spec/services/lead_unqualified_reasons_service_spec.rb
|