Skip to content

Commit bcce9c5

Browse files
feat: basic tests for the functions
1 parent 1ee347c commit bcce9c5

1 file changed

Lines changed: 158 additions & 7 deletions

File tree

test/tests_user_details.js

Lines changed: 158 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,20 +43,171 @@ describe("User details tests", () => {
4343
}, hp.sWait);
4444
});
4545

46-
it("Record and validate all user details", (done) => {
46+
it("set_property", (done) => {
4747
Countly.init({
4848
app_key: "YOUR_APP_KEY",
4949
url: "https://try.count.ly",
5050
});
51-
var userDetailObj = testUtils.getUserDetailsObj();
52-
Countly.userProfile.set_properties(userDetailObj);
51+
Countly.userProfile.set_property("name", "John Doe");
5352
Countly.userProfile.save();
54-
// read request queue
5553
setTimeout(() => {
5654
var req = hp.readRequestQueue()[0];
57-
const actualUserDetails = req.user_details;
58-
const isValid = hp.validateUserDetails(actualUserDetails, userDetailObj);
59-
assert.equal(true, isValid);
55+
const actualUserDetails = JSON.parse(req.user_details);
56+
assert.equal(actualUserDetails.custom.name, "John Doe");
57+
done();
58+
}, hp.sWait);
59+
});
60+
61+
it("set_once", (done) => {
62+
Countly.init({
63+
app_key: "YOUR_APP_KEY",
64+
url: "https://try.count.ly",
65+
});
66+
Countly.userProfile.set_once("name", "John Doe");
67+
Countly.userProfile.save();
68+
setTimeout(() => {
69+
var req = hp.readRequestQueue()[0];
70+
const actualUserDetails = JSON.parse(req.user_details);
71+
assert.equal(actualUserDetails.custom.name.$setOnce, "John Doe");
72+
done();
73+
}, hp.sWait);
74+
});
75+
76+
it("increment", (done) => {
77+
Countly.init({
78+
app_key: "YOUR_APP_KEY",
79+
url: "https://try.count.ly",
80+
});
81+
Countly.userProfile.increment("visits");
82+
Countly.userProfile.save();
83+
setTimeout(() => {
84+
var req = hp.readRequestQueue()[0];
85+
const actualUserDetails = JSON.parse(req.user_details);
86+
assert.equal(actualUserDetails.custom.visits.$inc, 1);
87+
done();
88+
}, hp.sWait);
89+
});
90+
91+
it("increment_by", (done) => {
92+
Countly.init({
93+
app_key: "YOUR_APP_KEY",
94+
url: "https://try.count.ly",
95+
});
96+
Countly.userProfile.increment_by("visits", 5);
97+
Countly.userProfile.save();
98+
setTimeout(() => {
99+
var req = hp.readRequestQueue()[0];
100+
const actualUserDetails = JSON.parse(req.user_details);
101+
assert.equal(actualUserDetails.custom.visits.$inc, 5);
102+
done();
103+
}, hp.sWait);
104+
});
105+
106+
it("multiply", (done) => {
107+
Countly.init({
108+
app_key: "YOUR_APP_KEY",
109+
url: "https://try.count.ly",
110+
});
111+
Countly.userProfile.multiply("visits", 2);
112+
Countly.userProfile.save();
113+
setTimeout(() => {
114+
var req = hp.readRequestQueue()[0];
115+
const actualUserDetails = JSON.parse(req.user_details);
116+
assert.equal(actualUserDetails.custom.visits.$mul, 2);
117+
done();
118+
}, hp.sWait);
119+
});
120+
121+
it("max", (done) => {
122+
Countly.init({
123+
app_key: "YOUR_APP_KEY",
124+
url: "https://try.count.ly",
125+
});
126+
Countly.userProfile.max("score", 100);
127+
Countly.userProfile.save();
128+
setTimeout(() => {
129+
var req = hp.readRequestQueue()[0];
130+
const actualUserDetails = JSON.parse(req.user_details);
131+
assert.equal(actualUserDetails.custom.score.$max, 100);
132+
done();
133+
}, hp.sWait);
134+
});
135+
136+
it("min", (done) => {
137+
Countly.init({
138+
app_key: "YOUR_APP_KEY",
139+
url: "https://try.count.ly",
140+
});
141+
Countly.userProfile.min("score", 10);
142+
Countly.userProfile.save();
143+
setTimeout(() => {
144+
var req = hp.readRequestQueue()[0];
145+
const actualUserDetails = JSON.parse(req.user_details);
146+
assert.equal(actualUserDetails.custom.score.$min, 10);
147+
done();
148+
}, hp.sWait);
149+
});
150+
151+
it("push", (done) => {
152+
Countly.init({
153+
app_key: "YOUR_APP_KEY",
154+
url: "https://try.count.ly",
155+
});
156+
Countly.userProfile.push("tags", "new");
157+
Countly.userProfile.save();
158+
setTimeout(() => {
159+
var req = hp.readRequestQueue()[0];
160+
const actualUserDetails = JSON.parse(req.user_details);
161+
assert.equal(actualUserDetails.custom.tags.$push, "new");
162+
done();
163+
}, hp.sWait);
164+
});
165+
166+
it("push_unique", (done) => {
167+
Countly.init({
168+
app_key: "YOUR_APP_KEY",
169+
url: "https://try.count.ly",
170+
});
171+
Countly.userProfile.push_unique("tags", "unique");
172+
Countly.userProfile.save();
173+
setTimeout(() => {
174+
var req = hp.readRequestQueue()[0];
175+
const actualUserDetails = JSON.parse(req.user_details);
176+
assert.equal(actualUserDetails.custom.tags.$addToSet, "unique");
177+
done();
178+
}, hp.sWait);
179+
});
180+
181+
it("pull", (done) => {
182+
Countly.init({
183+
app_key: "YOUR_APP_KEY",
184+
url: "https://try.count.ly",
185+
});
186+
Countly.userProfile.pull("tags", "old");
187+
Countly.userProfile.save();
188+
setTimeout(() => {
189+
var req = hp.readRequestQueue()[0];
190+
const actualUserDetails = JSON.parse(req.user_details);
191+
assert.equal(actualUserDetails.custom.tags.$pull, "old");
192+
done();
193+
}, hp.sWait);
194+
});
195+
196+
it("unset", (done) => {
197+
Countly.init({
198+
app_key: "YOUR_APP_KEY",
199+
url: "https://try.count.ly",
200+
});
201+
Countly.userProfile.set_property("keep", "value");
202+
Countly.userProfile.set_property("remove", "value");
203+
Countly.userProfile.unset("remove");
204+
Countly.userProfile.save();
205+
206+
setTimeout(() => {
207+
var req = hp.readRequestQueue()[0];
208+
const actualUserDetails = JSON.parse(req.user_details);
209+
assert.equal(actualUserDetails.custom.keep, "value");
210+
assert.equal(actualUserDetails.custom.remove, undefined);
60211
done();
61212
}, hp.sWait);
62213
});

0 commit comments

Comments
 (0)