UNPKG

1.31 kBJavaScriptView Raw
1
2var request = require("request");
3var qs = require("querystring");
4var uuid = require("uuid");
5var should = require("should");
6var sinon = require("sinon");
7var url = require("url");
8
9var ua = require("../lib/index.js");
10var utils = require("../lib/utils.js")
11var config = require("../lib/config.js")
12
13
14describe("ua", function () {
15
16
17
18 describe("#set", function () {
19 var _enqueue;
20
21 beforeEach(function () {
22 _enqueue = sinon.stub(ua.Visitor.prototype, "_enqueue", function () {
23 if (arguments.length === 3 && typeof arguments[2] === 'function') {
24 arguments[2]();
25 }
26 return this;
27 });
28 });
29
30 afterEach(function () {
31 _enqueue.restore()
32 });
33
34
35 it("should set persistent parameter", function () {
36
37 var visitor = ua("UA-XXXXX-XX")
38 visitor.set("cd1", "bar")
39 visitor.pageview("/foo")
40
41
42 _enqueue.calledOnce.should.equal(true, "#_enqueue should have been called once");
43 _enqueue.args[0][0].should.equal("pageview");
44 _enqueue.args[0][1].should.have.keys("dp", "cd1")
45
46
47 visitor.pageview("/foo/foo").event("Test Event", "Action")
48
49 _enqueue.args[1][0].should.equal("pageview");
50 _enqueue.args[1][1].should.have.keys("dp", "cd1")
51
52 _enqueue.args[2][0].should.equal("event");
53 _enqueue.args[2][1].should.have.keys("ec", "ea", "p", "cd1")
54 });
55
56 });
57
58});
59
60
61
62
63
64
65
66
67
68