@@ -6,6 +6,8 @@ var sandbox = require('@segment/clear-env');
6
6
var tester = require ( '@segment/analytics.js-integration-tester' ) ;
7
7
var fmt = require ( '@segment/fmt' ) ;
8
8
var Walkme = require ( '../lib' ) ;
9
+ var sinon = require ( 'sinon' ) ;
10
+ var assert = require ( 'assert' ) ;
9
11
10
12
describe ( 'WalkMe' , function ( ) {
11
13
var analytics ;
@@ -87,98 +89,130 @@ describe('WalkMe', function() {
87
89
} )
88
90
89
91
it ( 'should load walkme test lib' , function ( done ) {
90
- try {
91
- var tag = fmt (
92
- '<script src="https://cdn.walkme.com/users/%s/%s/walkme_%s_https.js" >' ,
93
- options . walkMeSystemId . toLowerCase ( ) ,
94
- 'test' ,
95
- options . walkMeSystemId . toLowerCase ( )
92
+ var spy = sinon . spy ( walkme , 'initializeTester' ) ;
93
+ var url = fmt (
94
+ 'https://cdn.walkme.com/users/%s/%s/walkme_%s_https.js' ,
95
+ options . walkMeSystemId . toLowerCase ( ) ,
96
+ 'test' ,
97
+ options . walkMeSystemId . toLowerCase ( )
98
+ ) ;
99
+
100
+ window . walkme_ready = function ( ) {
101
+ analytics . assert (
102
+ ! ! window . WalkMeAPI ,
103
+ 'Expected WalkMeAPI to be present on the page'
96
104
) ;
97
105
98
- window . walkme_ready = function ( ) {
99
- analytics . assert (
100
- ! ! window . WalkMeAPI ,
101
- 'Expected WalkMeAPI to be present on the page'
102
- ) ;
106
+ var payload = spy . args [ 0 ] [ 0 ] ;
103
107
108
+ try {
109
+ assert . equal ( url , payload . url ) ;
104
110
done ( ) ;
105
- } ;
106
-
107
- analytics . load ( walkme , function ( ) {
108
- analytics . loaded ( tag ) ;
109
- analytics . identify ( 'UserId' ) ;
110
- } ) ;
111
- } catch ( e ) {
112
- done ( e ) ;
113
- }
111
+ }
112
+ catch ( e ) {
113
+ done ( e ) ;
114
+ }
115
+ } ;
116
+
117
+ analytics . load ( walkme , function ( ) {
118
+ analytics . identify ( 'UserId' ) ;
119
+ } ) ;
114
120
} ) . timeout ( 10000 ) ;
115
121
116
- it ( 'should load walkme SRI' , function ( done ) {
117
- try {
118
- var walkMeSystemId = '42b2849a0ca54749bd485bcbd5bcc64e' ;
119
- var integrityHash = 'sha256-FjbibNOUzdIz+mtyFRU7NHj1G5tPgzOuJNCkRyDmXr8=' ;
120
-
121
- var tag = fmt (
122
- '<script src="https://cdn.walkme.com/users/%s/%s/walkme_private_%s_https.js" crossorigin="" integrity="%s" >' ,
123
- walkMeSystemId ,
124
- 'test' ,
125
- walkMeSystemId ,
126
- integrityHash
127
- ) ;
122
+ it ( 'should load walkme Prod Environment' , function ( done ) {
123
+ var spy = sinon . spy ( walkme , 'initializeTester' ) ;
128
124
129
- window . walkme_ready = function ( ) {
130
- analytics . assert (
131
- ! ! window . WalkMeAPI ,
132
- 'Expected WalkMeAPI to be present on the page'
133
- ) ;
125
+ var tag = fmt (
126
+ '<script src="https://cdn.walkme.com/users/%s/walkme_%s_https.js" >' ,
127
+ options . walkMeSystemId . toLowerCase ( ) ,
128
+ options . walkMeSystemId . toLowerCase ( )
129
+ ) ;
130
+
131
+ walkme . options . environment = 'production' ;
132
+
133
+ window . walkme_ready = function ( ) {
134
+ try {
135
+ assert . equal ( ! ! window . WalkMeAPI , true ) ;
134
136
137
+ var payload = spy . args [ 0 ] [ 0 ] ;
138
+ assert . equal ( tag , '<script src="' + payload . url + '" >' )
135
139
done ( ) ;
136
- } ;
140
+ }
141
+ catch ( e ) {
142
+ done ( e ) ;
143
+ }
137
144
138
- walkme . options . walkMeSystemId = walkMeSystemId ;
139
- walkme . options . integrityHash = integrityHash ;
145
+ } ;
140
146
141
- analytics . load ( walkme , function ( ) {
142
- analytics . loaded ( tag ) ;
143
- } ) ;
144
- } catch ( e ) {
145
- done ( e ) ;
146
- }
147
+ analytics . load ( walkme , function ( ) {
148
+ analytics . loaded ( tag ) ;
149
+ } ) ;
147
150
} ) . timeout ( 10000 ) ;
148
151
149
- it ( 'should setup bucket' , function ( done ) {
150
- try {
151
- var walkMeSystemId = '42b2849a0ca54749bd485bcbd5bcc64e' ;
152
- var integrityHash = 'sha256-FjbibNOUzdIz+mtyFRU7NHj1G5tPgzOuJNCkRyDmXr8=' ;
153
- var bucket = 'users' ;
154
-
155
- var tag = fmt (
156
- '<script src="https://cdn.walkme.com/%s/%s/%s/walkme_%s_https.js" crossorigin="" >' ,
157
- bucket ,
158
- walkMeSystemId ,
159
- 'test' ,
160
- walkMeSystemId
161
- ) ;
152
+ it ( 'should load walkme SRI' , function ( done ) {
153
+ var spy = sinon . spy ( walkme , 'initializeTester' ) ;
162
154
163
- window . walkme_ready = function ( ) {
164
- analytics . assert (
165
- ! ! window . WalkMeAPI ,
166
- 'Expected WalkMeAPI to be present on the page'
167
- ) ;
155
+ var walkMeSystemId = '42b2849a0ca54749bd485bcbd5bcc64e' ;
156
+ var integrityHash = 'sha256-FjbibNOUzdIz+mtyFRU7NHj1G5tPgzOuJNCkRyDmXr8=' ;
168
157
158
+ var url = fmt (
159
+ 'https://cdn.walkme.com/users/%s/%s/walkme_private_%s_https.js' ,
160
+ walkMeSystemId ,
161
+ 'test' ,
162
+ walkMeSystemId ,
163
+ ) ;
164
+
165
+ window . walkme_ready = function ( ) {
166
+ try {
167
+ assert . equal ( ! ! window . WalkMeAPI , true ) ;
168
+
169
+ var payload = spy . args [ 0 ] [ 0 ] ;
170
+
171
+ assert . equal ( url , payload . url ) ;
169
172
done ( ) ;
170
- } ;
173
+ } catch ( e ) {
174
+ done ( e ) ;
175
+ }
176
+ } ;
171
177
172
- walkme . options . walkMeSystemId = walkMeSystemId ;
173
- walkme . options . integrityHash = integrityHash ;
174
- walkme . options . customDirecotry = bucket ;
178
+ walkme . options . walkMeSystemId = walkMeSystemId ;
179
+ walkme . options . integrityHash = integrityHash ;
175
180
176
- analytics . load ( walkme , function ( ) {
177
- analytics . loaded ( tag ) ;
178
- } ) ;
179
- } catch ( e ) {
180
- done ( e ) ;
181
- }
181
+ analytics . load ( walkme , function ( ) { } ) ;
182
+ } ) . timeout ( 10000 ) ;
183
+
184
+ it ( 'should setup bucket' , function ( done ) {
185
+ var walkMeSystemId = '42b2849a0ca54749bd485bcbd5bcc64e' ;
186
+ var integrityHash = 'sha256-FjbibNOUzdIz+mtyFRU7NHj1G5tPgzOuJNCkRyDmXr8=' ;
187
+ var bucket = 'users' ;
188
+
189
+ var spy = sinon . spy ( walkme , 'initializeTester' ) ;
190
+ var url = fmt (
191
+ 'https://cdn.walkme.com/%s/%s/%s/walkme_private_%s_https.js' ,
192
+ bucket ,
193
+ walkMeSystemId ,
194
+ 'test' ,
195
+ walkMeSystemId
196
+ ) ;
197
+
198
+ window . walkme_ready = function ( ) {
199
+ var payload = spy . args [ 0 ] [ 0 ] ;
200
+
201
+ try {
202
+ assert . equal ( ! ! window . WalkMeAPI , true ) ;
203
+ assert . equal ( url , payload . url ) ;
204
+ done ( ) ;
205
+ }
206
+ catch ( e ) {
207
+ done ( e ) ;
208
+ }
209
+ } ;
210
+
211
+ walkme . options . walkMeSystemId = walkMeSystemId ;
212
+ walkme . options . integrityHash = integrityHash ;
213
+ walkme . options . customDirecotry = bucket ;
214
+
215
+ analytics . load ( walkme ) ;
182
216
} ) . timeout ( 10000 ) ;
183
217
} ) ;
184
218
0 commit comments