intercom-rails 0.2.24 → 0.2.25
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.
- data/README.mdown +50 -12
- data/Rakefile +3 -11
- data/lib/intercom-rails/auto_include_filter.rb +2 -2
- data/lib/intercom-rails/config.rb +6 -6
- data/lib/intercom-rails/custom_data_helper.rb +1 -1
- data/lib/intercom-rails/import.rb +6 -6
- data/lib/intercom-rails/proxy.rb +9 -4
- data/lib/intercom-rails/proxy/company.rb +3 -3
- data/lib/intercom-rails/script_tag_helper.rb +2 -2
- data/lib/intercom-rails/version.rb +1 -1
- data/lib/rails/generators/intercom/config/config_generator.rb +4 -4
- data/lib/rails/generators/intercom/config/intercom.rb.erb +12 -12
- metadata +75 -47
- checksums.yaml +0 -7
- data/test/action_controller_test_setup.rb +0 -29
- data/test/import_test_setup.rb +0 -84
- data/test/intercom-rails/auto_include_filter_test.rb +0 -187
- data/test/intercom-rails/config_test.rb +0 -79
- data/test/intercom-rails/import_network_test.rb +0 -122
- data/test/intercom-rails/import_unit_test.rb +0 -125
- data/test/intercom-rails/proxy/company_test.rb +0 -46
- data/test/intercom-rails/proxy/user_test.rb +0 -143
- data/test/intercom-rails/script_tag_helper_test.rb +0 -30
- data/test/intercom-rails/script_tag_test.rb +0 -110
- data/test/test_setup.rb +0 -51
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: intercom-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.25
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Ben McRedmond
|
@@ -10,118 +11,166 @@ authors:
|
|
10
11
|
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain: []
|
13
|
-
date:
|
14
|
+
date: 2014-09-25 00:00:00.000000000 Z
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
16
17
|
name: activesupport
|
17
18
|
requirement: !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
18
20
|
requirements:
|
19
|
-
- - '>'
|
21
|
+
- - ! '>'
|
20
22
|
- !ruby/object:Gem::Version
|
21
23
|
version: '3.0'
|
22
24
|
type: :runtime
|
23
25
|
prerelease: false
|
24
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
25
28
|
requirements:
|
26
|
-
- - '>'
|
29
|
+
- - ! '>'
|
27
30
|
- !ruby/object:Gem::Version
|
28
31
|
version: '3.0'
|
29
32
|
- !ruby/object:Gem::Dependency
|
30
33
|
name: rake
|
31
34
|
requirement: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
32
36
|
requirements:
|
33
|
-
- - '>='
|
37
|
+
- - ! '>='
|
34
38
|
- !ruby/object:Gem::Version
|
35
39
|
version: '0'
|
36
40
|
type: :development
|
37
41
|
prerelease: false
|
38
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
39
44
|
requirements:
|
40
|
-
- - '>='
|
45
|
+
- - ! '>='
|
41
46
|
- !ruby/object:Gem::Version
|
42
47
|
version: '0'
|
43
48
|
- !ruby/object:Gem::Dependency
|
44
49
|
name: actionpack
|
45
50
|
requirement: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
46
52
|
requirements:
|
47
|
-
- - '>'
|
53
|
+
- - ! '>'
|
48
54
|
- !ruby/object:Gem::Version
|
49
55
|
version: 3.2.12
|
50
56
|
type: :development
|
51
57
|
prerelease: false
|
52
58
|
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
53
60
|
requirements:
|
54
|
-
- - '>'
|
61
|
+
- - ! '>'
|
55
62
|
- !ruby/object:Gem::Version
|
56
63
|
version: 3.2.12
|
57
64
|
- !ruby/object:Gem::Dependency
|
58
|
-
name: rspec
|
65
|
+
name: rspec
|
59
66
|
requirement: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
60
68
|
requirements:
|
61
69
|
- - ~>
|
62
70
|
- !ruby/object:Gem::Version
|
63
|
-
version: '
|
71
|
+
version: '3.1'
|
64
72
|
type: :development
|
65
73
|
prerelease: false
|
66
74
|
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
67
76
|
requirements:
|
68
77
|
- - ~>
|
69
78
|
- !ruby/object:Gem::Version
|
70
|
-
version: '
|
79
|
+
version: '3.1'
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: rspec-rails
|
82
|
+
requirement: !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ~>
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '3.1'
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ~>
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '3.1'
|
71
96
|
- !ruby/object:Gem::Dependency
|
72
97
|
name: pry
|
73
98
|
requirement: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
74
100
|
requirements:
|
75
|
-
- - '>='
|
101
|
+
- - ! '>='
|
76
102
|
- !ruby/object:Gem::Version
|
77
103
|
version: '0'
|
78
104
|
type: :development
|
79
105
|
prerelease: false
|
80
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
81
108
|
requirements:
|
82
|
-
- - '>='
|
109
|
+
- - ! '>='
|
83
110
|
- !ruby/object:Gem::Version
|
84
111
|
version: '0'
|
85
112
|
- !ruby/object:Gem::Dependency
|
86
113
|
name: sinatra
|
87
114
|
requirement: !ruby/object:Gem::Requirement
|
115
|
+
none: false
|
88
116
|
requirements:
|
89
117
|
- - ~>
|
90
118
|
- !ruby/object:Gem::Version
|
91
|
-
version: 1.4.
|
119
|
+
version: 1.4.5
|
92
120
|
type: :development
|
93
121
|
prerelease: false
|
94
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
95
124
|
requirements:
|
96
125
|
- - ~>
|
97
126
|
- !ruby/object:Gem::Version
|
98
|
-
version: 1.4.
|
127
|
+
version: 1.4.5
|
99
128
|
- !ruby/object:Gem::Dependency
|
100
129
|
name: thin
|
101
130
|
requirement: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
102
132
|
requirements:
|
103
133
|
- - ~>
|
104
134
|
- !ruby/object:Gem::Version
|
105
|
-
version: 1.
|
135
|
+
version: 1.6.2
|
106
136
|
type: :development
|
107
137
|
prerelease: false
|
108
138
|
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
109
140
|
requirements:
|
110
141
|
- - ~>
|
111
142
|
- !ruby/object:Gem::Version
|
112
|
-
version: 1.
|
143
|
+
version: 1.6.2
|
113
144
|
- !ruby/object:Gem::Dependency
|
114
145
|
name: tzinfo
|
115
146
|
requirement: !ruby/object:Gem::Requirement
|
147
|
+
none: false
|
148
|
+
requirements:
|
149
|
+
- - ! '>='
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
type: :development
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
none: false
|
156
|
+
requirements:
|
157
|
+
- - ! '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
- !ruby/object:Gem::Dependency
|
161
|
+
name: gem-release
|
162
|
+
requirement: !ruby/object:Gem::Requirement
|
163
|
+
none: false
|
116
164
|
requirements:
|
117
|
-
- - '>='
|
165
|
+
- - ! '>='
|
118
166
|
- !ruby/object:Gem::Version
|
119
167
|
version: '0'
|
120
168
|
type: :development
|
121
169
|
prerelease: false
|
122
170
|
version_requirements: !ruby/object:Gem::Requirement
|
171
|
+
none: false
|
123
172
|
requirements:
|
124
|
-
- - '>='
|
173
|
+
- - ! '>='
|
125
174
|
- !ruby/object:Gem::Version
|
126
175
|
version: '0'
|
127
176
|
description: Intercom (https://www.intercom.io) is a customer relationship management
|
@@ -155,50 +204,29 @@ files:
|
|
155
204
|
- lib/rails/generators/intercom/config/intercom.rb.erb
|
156
205
|
- Rakefile
|
157
206
|
- README.mdown
|
158
|
-
- test/action_controller_test_setup.rb
|
159
|
-
- test/import_test_setup.rb
|
160
|
-
- test/intercom-rails/auto_include_filter_test.rb
|
161
|
-
- test/intercom-rails/config_test.rb
|
162
|
-
- test/intercom-rails/import_network_test.rb
|
163
|
-
- test/intercom-rails/import_unit_test.rb
|
164
|
-
- test/intercom-rails/proxy/company_test.rb
|
165
|
-
- test/intercom-rails/proxy/user_test.rb
|
166
|
-
- test/intercom-rails/script_tag_helper_test.rb
|
167
|
-
- test/intercom-rails/script_tag_test.rb
|
168
|
-
- test/test_setup.rb
|
169
207
|
homepage: http://www.intercom.io
|
170
208
|
licenses: []
|
171
|
-
metadata: {}
|
172
209
|
post_install_message:
|
173
210
|
rdoc_options: []
|
174
211
|
require_paths:
|
175
212
|
- lib
|
176
213
|
required_ruby_version: !ruby/object:Gem::Requirement
|
214
|
+
none: false
|
177
215
|
requirements:
|
178
|
-
- - '>='
|
216
|
+
- - ! '>='
|
179
217
|
- !ruby/object:Gem::Version
|
180
218
|
version: '0'
|
181
219
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
220
|
+
none: false
|
182
221
|
requirements:
|
183
|
-
- - '>='
|
222
|
+
- - ! '>='
|
184
223
|
- !ruby/object:Gem::Version
|
185
224
|
version: '0'
|
186
225
|
requirements: []
|
187
226
|
rubyforge_project: intercom-rails
|
188
|
-
rubygems_version:
|
227
|
+
rubygems_version: 1.8.23
|
189
228
|
signing_key:
|
190
|
-
specification_version:
|
229
|
+
specification_version: 3
|
191
230
|
summary: Rails helper for emitting javascript script tags for Intercom
|
192
|
-
test_files:
|
193
|
-
- test/action_controller_test_setup.rb
|
194
|
-
- test/import_test_setup.rb
|
195
|
-
- test/intercom-rails/auto_include_filter_test.rb
|
196
|
-
- test/intercom-rails/config_test.rb
|
197
|
-
- test/intercom-rails/import_network_test.rb
|
198
|
-
- test/intercom-rails/import_unit_test.rb
|
199
|
-
- test/intercom-rails/proxy/company_test.rb
|
200
|
-
- test/intercom-rails/proxy/user_test.rb
|
201
|
-
- test/intercom-rails/script_tag_helper_test.rb
|
202
|
-
- test/intercom-rails/script_tag_test.rb
|
203
|
-
- test/test_setup.rb
|
231
|
+
test_files: []
|
204
232
|
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: b590998d555ff3f90815bb4f77ecfc22ce23df2b
|
4
|
-
data.tar.gz: 84410edefae02996de6b3489d42612058fcd5bce
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: f3024c9b8a4890848f1cfbc832175b4908657cb4d226d4d5f25bf25b00ae16e59ab569da735c8892943aeee742ed37b310bb6c9b0ff67cf1ba5a8f638351c99e
|
7
|
-
data.tar.gz: b6e0e97a06c7264f6f4889a999c668659767cce50cd158ea7d157b734be4261282a34df0a51f32cdb5f6333ec7bdffd73c5e703818b2d6dce911deb3c6ff4458
|
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'test_setup'
|
2
|
-
|
3
|
-
require 'action_controller'
|
4
|
-
require 'action_controller/test_case'
|
5
|
-
|
6
|
-
TestRoutes = ActionDispatch::Routing::RouteSet.new
|
7
|
-
TestRoutes.draw do
|
8
|
-
get ':controller(/:action)'
|
9
|
-
end
|
10
|
-
|
11
|
-
class ActionController::Base
|
12
|
-
|
13
|
-
include IntercomRails::CustomDataHelper
|
14
|
-
include IntercomRails::AutoInclude::Method
|
15
|
-
after_filter :intercom_rails_auto_include
|
16
|
-
|
17
|
-
include TestRoutes.url_helpers
|
18
|
-
include TestRoutes.mounted_helpers
|
19
|
-
|
20
|
-
end
|
21
|
-
|
22
|
-
class ActionController::TestCase
|
23
|
-
|
24
|
-
def setup
|
25
|
-
super
|
26
|
-
@routes = TestRoutes
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
data/test/import_test_setup.rb
DELETED
@@ -1,84 +0,0 @@
|
|
1
|
-
require 'test_setup'
|
2
|
-
require 'active_support/string_inquirer'
|
3
|
-
|
4
|
-
class Rails
|
5
|
-
def self.env
|
6
|
-
ActiveSupport::StringInquirer.new("production")
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
module ActiveRecord
|
11
|
-
class Base; end
|
12
|
-
end
|
13
|
-
|
14
|
-
module Mongoid
|
15
|
-
module Document
|
16
|
-
def self.included(klass)
|
17
|
-
klass.extend ClassMethods
|
18
|
-
end
|
19
|
-
|
20
|
-
module ClassMethods
|
21
|
-
def all
|
22
|
-
@_users ||= User.all
|
23
|
-
end
|
24
|
-
|
25
|
-
def limit(*args)
|
26
|
-
self
|
27
|
-
end
|
28
|
-
|
29
|
-
def skip(*args)
|
30
|
-
all
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
class User
|
37
|
-
|
38
|
-
attr_reader :id, :email, :name
|
39
|
-
|
40
|
-
def initialize(options = {})
|
41
|
-
options.each do |k,v|
|
42
|
-
instance_variable_set(:"@#{k}", v)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
MOCK_USERS = [
|
47
|
-
{:id => 1, :email => "ben@intercom.io", :name => "Ben McRedmond"},
|
48
|
-
{:id => 2, :email => "ciaran@intercom.io", :name => "Ciaran Lee"}
|
49
|
-
]
|
50
|
-
|
51
|
-
def self.find_in_batches(*args)
|
52
|
-
yield(MOCK_USERS.map {|u| new(u)})
|
53
|
-
end
|
54
|
-
|
55
|
-
def self.all
|
56
|
-
MOCK_USERS.map { |u| new(u) }
|
57
|
-
end
|
58
|
-
|
59
|
-
def self.first
|
60
|
-
new(MOCK_USERS.first)
|
61
|
-
end
|
62
|
-
|
63
|
-
def self.<(other)
|
64
|
-
other == ActiveRecord::Base
|
65
|
-
end
|
66
|
-
|
67
|
-
end
|
68
|
-
|
69
|
-
module ImportTest
|
70
|
-
|
71
|
-
def setup
|
72
|
-
super
|
73
|
-
IntercomRails.config.stub(:api_key).and_return("abcd")
|
74
|
-
end
|
75
|
-
|
76
|
-
def teardown
|
77
|
-
super
|
78
|
-
Rails.rspec_reset
|
79
|
-
User.rspec_reset
|
80
|
-
IntercomRails::Import.rspec_reset
|
81
|
-
IntercomRails::Import.unstub_all_instance_methods
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|
@@ -1,187 +0,0 @@
|
|
1
|
-
require 'action_controller_test_setup'
|
2
|
-
|
3
|
-
class TestController < ActionController::Base
|
4
|
-
|
5
|
-
skip_after_filter :intercom_rails_auto_include, :only => :with_user_instance_variable_after_filter_skipped
|
6
|
-
|
7
|
-
def without_user
|
8
|
-
render :text => params[:body], :content_type => 'text/html'
|
9
|
-
end
|
10
|
-
|
11
|
-
def with_user_instance_variable
|
12
|
-
@user = dummy_user
|
13
|
-
render :text => params[:body], :content_type => 'text/html'
|
14
|
-
end
|
15
|
-
|
16
|
-
def with_user_instance_variable_after_filter_skipped
|
17
|
-
with_user_instance_variable
|
18
|
-
end
|
19
|
-
|
20
|
-
def with_user_and_app_instance_variables
|
21
|
-
@user = dummy_user
|
22
|
-
@app = dummy_company
|
23
|
-
render :text => params[:body], :content_type => 'text/html'
|
24
|
-
end
|
25
|
-
|
26
|
-
def with_user_instance_variable_and_custom_data
|
27
|
-
@user = dummy_user
|
28
|
-
intercom_custom_data.user['testing_stuff'] = true
|
29
|
-
render :text => params[:body], :content_type => 'text/html'
|
30
|
-
end
|
31
|
-
|
32
|
-
def with_unusable_user_instance_variable
|
33
|
-
@user = Object.new
|
34
|
-
render :text => params[:body], :content_type => 'text/html'
|
35
|
-
end
|
36
|
-
|
37
|
-
def with_current_user_method
|
38
|
-
render :text => params[:body], :content_type => 'text/html'
|
39
|
-
end
|
40
|
-
|
41
|
-
def with_admin_instance_variable
|
42
|
-
@admin = dummy_user(:email => 'eoghan@intercom.io', :name => 'Eoghan McCabe')
|
43
|
-
render :text => params[:body], :content_type => 'text/html'
|
44
|
-
end
|
45
|
-
|
46
|
-
def current_user
|
47
|
-
raise NameError if params[:action] != 'with_current_user_method'
|
48
|
-
dummy_user(:email => 'ciaran@intercom.io', :name => 'Ciaran Lee')
|
49
|
-
end
|
50
|
-
|
51
|
-
end
|
52
|
-
|
53
|
-
class AutoIncludeFilterTest < ActionController::TestCase
|
54
|
-
|
55
|
-
include InterTest
|
56
|
-
|
57
|
-
tests TestController
|
58
|
-
|
59
|
-
def setup
|
60
|
-
super
|
61
|
-
IntercomRails.config.app_id = 'my_app_id'
|
62
|
-
end
|
63
|
-
|
64
|
-
def teardown
|
65
|
-
IntercomRails.config.app_id = nil
|
66
|
-
end
|
67
|
-
|
68
|
-
def test_no_user_present
|
69
|
-
get :without_user, :body => "<body>Hello world</body>"
|
70
|
-
assert_equal @response.body, "<body>Hello world</body>"
|
71
|
-
end
|
72
|
-
|
73
|
-
def test_user_present_with_no_body_tag
|
74
|
-
get :with_user_instance_variable, :body => "Hello world"
|
75
|
-
assert_equal @response.body, "Hello world"
|
76
|
-
end
|
77
|
-
|
78
|
-
def test_user_present_but_unusuable
|
79
|
-
get :with_unusable_user_instance_variable, :body => "Hello world"
|
80
|
-
assert_equal @response.body, "Hello world"
|
81
|
-
end
|
82
|
-
|
83
|
-
def test_user_instance_variable_present_with_body_tag
|
84
|
-
get :with_user_instance_variable, :body => "<body>Hello world</body>"
|
85
|
-
|
86
|
-
assert_includes @response.body, "<script>"
|
87
|
-
assert_includes @response.body, IntercomRails.config.app_id
|
88
|
-
assert_includes @response.body, "ben@intercom.io"
|
89
|
-
assert_includes @response.body, "Ben McRedmond"
|
90
|
-
end
|
91
|
-
|
92
|
-
def test_user_instance_variable_present_with_body_tag_and_custom_data
|
93
|
-
get :with_user_instance_variable_and_custom_data, :body => "<body>Hello world</body>"
|
94
|
-
assert_includes @response.body, "<script>"
|
95
|
-
assert_includes @response.body, "testing_stuff"
|
96
|
-
end
|
97
|
-
|
98
|
-
def test_current_user_method_present_with_body_tag
|
99
|
-
get :with_current_user_method, :body => "<body>Hello world</body>"
|
100
|
-
|
101
|
-
assert_includes @response.body, "<script>"
|
102
|
-
assert_includes @response.body, "ciaran@intercom.io"
|
103
|
-
assert_includes @response.body, "Ciaran Lee"
|
104
|
-
end
|
105
|
-
|
106
|
-
def test_setting_current_user_with_intercom_config
|
107
|
-
IntercomRails.config.user.current = Proc.new { @admin }
|
108
|
-
get :with_admin_instance_variable, :body => "<body>Hello world</body>"
|
109
|
-
|
110
|
-
assert_includes @response.body, "<script>"
|
111
|
-
assert_includes @response.body, "eoghan@intercom.io"
|
112
|
-
assert_includes @response.body, "Eoghan McCabe"
|
113
|
-
end
|
114
|
-
|
115
|
-
def test_library_url_default
|
116
|
-
get :with_current_user_method, :body => "<body>Hello world</body>"
|
117
|
-
assert_includes @response.body, "<script>"
|
118
|
-
assert_includes @response.body, "s.src='https://static.intercomcdn.com/intercom.v1.js"
|
119
|
-
end
|
120
|
-
|
121
|
-
def test_library_url_override
|
122
|
-
IntercomRails.config.library_url = 'http://a.b.c.d/library.js'
|
123
|
-
get :with_current_user_method, :body => "<body>Hello world</body>"
|
124
|
-
assert_includes @response.body, "<script>"
|
125
|
-
assert_includes @response.body, "s.src='http://a.b.c.d/library.js"
|
126
|
-
end
|
127
|
-
|
128
|
-
def test_auto_insert_with_api_secret_set
|
129
|
-
IntercomRails.config.api_secret = 'abcd'
|
130
|
-
get :with_current_user_method, :body => "<body>Hello world</body>"
|
131
|
-
|
132
|
-
assert_includes @response.body, "<script>"
|
133
|
-
assert_includes @response.body, "user_hash"
|
134
|
-
assert_includes @response.body, OpenSSL::HMAC.hexdigest("sha256", 'abcd', @controller.current_user.email)
|
135
|
-
end
|
136
|
-
|
137
|
-
def test_no_app_id_present
|
138
|
-
IntercomRails.config.app_id = nil
|
139
|
-
get :with_current_user_method, :body => "<body>Hello world</body>"
|
140
|
-
|
141
|
-
assert_equal @response.body, "<body>Hello world</body>"
|
142
|
-
end
|
143
|
-
|
144
|
-
def test_manual_script_tag_helper_call
|
145
|
-
fake_action_view = fake_action_view_class.new
|
146
|
-
fake_action_view.instance_variable_set(:@controller, @controller)
|
147
|
-
fake_action_view.intercom_script_tag({})
|
148
|
-
|
149
|
-
get :with_current_user_method, :body => "<body>Hello world</body>"
|
150
|
-
assert_equal @response.body, "<body>Hello world</body>"
|
151
|
-
end
|
152
|
-
|
153
|
-
def test_includes_company
|
154
|
-
IntercomRails.config.company.current = Proc.new { @app }
|
155
|
-
get :with_user_and_app_instance_variables, :body => "<body>Hello world</body>"
|
156
|
-
|
157
|
-
assert_includes @response.body, "<script>"
|
158
|
-
assert_includes @response.body, "company"
|
159
|
-
assert_includes @response.body, "6"
|
160
|
-
end
|
161
|
-
|
162
|
-
def test_skip_after_filter
|
163
|
-
get :with_user_instance_variable_after_filter_skipped, :body => "<body>Hello world</body>"
|
164
|
-
assert_equal @response.body, "<body>Hello world</body>"
|
165
|
-
end
|
166
|
-
|
167
|
-
def test_disabled_in_development
|
168
|
-
Rails.stub(:env) { ActiveSupport::StringInquirer.new("development") }
|
169
|
-
IntercomRails.config.enabled_environments = ["production"]
|
170
|
-
get :with_user_instance_variable, :body => "<body>Hello world</body>"
|
171
|
-
|
172
|
-
assert_equal @response.body, "<body>Hello world</body>"
|
173
|
-
Rails.unstub(:env)
|
174
|
-
end
|
175
|
-
|
176
|
-
def test_enabled_in_production
|
177
|
-
# Rails.env defaults to "production"
|
178
|
-
IntercomRails.config.enabled_environments = ["production"]
|
179
|
-
get :with_user_instance_variable, :body => "<body>Hello world</body>"
|
180
|
-
|
181
|
-
assert_includes @response.body, "<script>"
|
182
|
-
assert_includes @response.body, IntercomRails.config.app_id
|
183
|
-
assert_includes @response.body, "ben@intercom.io"
|
184
|
-
assert_includes @response.body, "Ben McRedmond"
|
185
|
-
end
|
186
|
-
|
187
|
-
end
|