intercom-rails 0.2.24 → 0.2.25
Sign up to get free protection for your applications and to get access to all the features.
- 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
|