MixpanelGroupsProducerTest.php
4.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
class MixpanelGroupsProducerTest extends PHPUnit_Framework_TestCase {
/**
* @var Producers_MixpanelGroups
*/
protected $_instance = null;
protected function setUp()
{
parent::setUp();
$this->_instance = new Producers_MixpanelGroups("token");
}
protected function tearDown()
{
parent::tearDown();
$this->_instance->reset();
$this->_instance = null;
}
public function testSet() {
$this->_instance->set("company","Mixpanel", array("industry" => "tech"));
$queue = $this->_instance->getQueue();
$msg = $queue[count($queue)-1];
$this->assertEquals("company", $msg['$group_key']);
$this->assertEquals("Mixpanel", $msg['$group_id']);
$this->assertEquals("token", $msg['$token']);
$this->assertArrayNotHasKey('$ignore_time', $msg);
$this->assertArrayHasKey('$set', $msg);
$this->assertArrayHasKey("industry", $msg['$set']);
$this->assertEquals("tech", $msg['$set']['industry']);
}
public function testSetIgnoreTime() {
$this->_instance->set("company","Mixpanel", array("industry" => "Tech"), true);
$queue = $this->_instance->getQueue();
$msg = $queue[count($queue)-1];
$this->assertEquals("company", $msg['$group_key']);
$this->assertEquals("Mixpanel", $msg['$group_id']);
$this->assertEquals("token", $msg['$token']);
$this->assertEquals(true, $msg['$ignore_time']);
$this->assertArrayHasKey('$set', $msg);
$this->assertArrayHasKey("industry", $msg['$set']);
$this->assertEquals("Tech", $msg['$set']['industry']);
}
public function testSetOnce() {
$this->_instance->setOnce("company","Mixpanel", array("industry" => "Tech"), true);
$queue = $this->_instance->getQueue();
$msg = $queue[count($queue)-1];
$this->assertEquals("company", $msg['$group_key']);
$this->assertEquals("Mixpanel", $msg['$group_id']);
$this->assertEquals("token", $msg['$token']);
$this->assertArrayHasKey('$set_once', $msg);
$this->assertArrayHasKey("industry", $msg['$set_once']);
$this->assertEquals("Tech", $msg['$set_once']['industry']);
}
public function testUnionSingle() {
$this->_instance->union("company","Mixpanel", "actions", "Logged In");
$queue = $this->_instance->getQueue();
$msg = $queue[count($queue)-1];
$this->assertEquals("company", $msg['$group_key']);
$this->assertEquals("Mixpanel", $msg['$group_id']);
$this->assertArrayHasKey('$union', $msg);
$this->assertArrayHasKey("actions", $msg['$union']);
$this->assertEquals("Logged In", $msg['$union']['actions']);
}
public function testUnionMultiple() {
$this->_instance->union("company","Mixpanel", "actions", array("Logged In", "Logged Out"));
$queue = $this->_instance->getQueue();
$msg = $queue[count($queue)-1];
$this->assertEquals("company", $msg['$group_key']);
$this->assertEquals("Mixpanel", $msg['$group_id']);
$this->assertEquals("token", $msg['$token']);
$this->assertArrayHasKey('$union', $msg);
$this->assertArrayHasKey("actions", $msg['$union']);
$this->assertEquals(array("Logged In", "Logged Out"), $msg['$union']['actions']);
}
public function testRemove() {
$this->_instance->remove("company","Mixpanel", array("industry" => "tech"));
$queue = $this->_instance->getQueue();
$msg = $queue[count($queue)-1];
$this->assertEquals("company", $msg['$group_key']);
$this->assertEquals("Mixpanel", $msg['$group_id']);
$this->assertEquals("token", $msg['$token']);
$this->assertArrayNotHasKey('$ignore_time', $msg);
$this->assertArrayHasKey('$unset', $msg);
$this->assertArrayHasKey("industry", $msg['$unset']);
$this->assertEquals("tech", $msg['$unset']['industry']);
}
public function testDeleteGroup() {
$this->_instance->deleteGroup("company","Mixpanel");
$queue = $this->_instance->getQueue();
$msg = $queue[count($queue)-1];
$this->assertEquals("company", $msg['$group_key']);
$this->assertEquals("Mixpanel", $msg['$group_id']);
$this->assertEquals("token", $msg['$token']);
$this->assertArrayHasKey('$delete', $msg);
$this->assertEquals("", $msg['$delete']);
}
}